#include <stdio.h>
1342
double p[110][3];
int main()
{
int n, m, x, t=0;
while(scanf("%d%d", &m, &n) != EOF)
{
p[1][0] = p[1][1] = p[1][2] = 0;
for(int i = 0; i < m; i ++)
{
scanf("%d", &x);
p[1][x%3] += 1;
}
p[1][0] /= m, p[1][1] /= m, p[1][2] /= m;
for(int i = 2; i <= n; i ++)
{
p[i][0]=p[i-1][0] * p[1][0] + p[i-1][1] * p[1][2] + p[i-1][2] * p[1][1];
p[i][1]=p[i-1][0] * p[1][1] + p[i-1][1] * p[1][0] + p[i-1][2] * p[1][2];
p[i][2]=p[i-1][0] * p[1][2] + p[i-1][1] * p[1][1] + p[i-1][2] * p[1][0];
}
printf("Case %d: %.8f\n", ++t, p[n][0]);
}
return 0;
}
1342
double p[110][3];
int main()
{
int n, m, x, t=0;
while(scanf("%d%d", &m, &n) != EOF)
{
p[1][0] = p[1][1] = p[1][2] = 0;
for(int i = 0; i < m; i ++)
{
scanf("%d", &x);
p[1][x%3] += 1;
}
p[1][0] /= m, p[1][1] /= m, p[1][2] /= m;
for(int i = 2; i <= n; i ++)
{
p[i][0]=p[i-1][0] * p[1][0] + p[i-1][1] * p[1][2] + p[i-1][2] * p[1][1];
p[i][1]=p[i-1][0] * p[1][1] + p[i-1][1] * p[1][0] + p[i-1][2] * p[1][2];
p[i][2]=p[i-1][0] * p[1][2] + p[i-1][1] * p[1][1] + p[i-1][2] * p[1][0];
}
printf("Case %d: %.8f\n", ++t, p[n][0]);
}
return 0;
}