#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
const int maxn = 55;

inline int gi()
{
	char c = getchar();
	while (c < '0' || c > '9') c = getchar();
	int sum = 0;
	while ('0' <= c && c <= '9') sum = sum * 10 + c - 48, c = getchar();
	return sum;
}

int n, c, l[maxn];
double f[505][105];

int main()
{
	n = gi(); c = gi();
	for (int i = 0; i < n; ++i) l[i] = gi();
	sort(l, l + n);
	double res = 0, cnt = 0;
	do {
		for (int i = 0; i <= c * n; ++i)
			for (int s = 0; s < (1 << (n - 1)); ++s) f[i][s] = 0;
		f[l[n - 1] * n][0] = 1;
		for (int i = 1, p; i <= c * n; ++i) {
			if ((p = i % n - 1) < 0) continue;
			for (int j = i; j <= c * n; ++j)
                for (int s = 0; s < (1 << n - 1); ++s)
                    if (~s >> p & 1) f[min(c * n, max(j, i + l[p] * n))][s | (1 << p)] += f[j][s];
		}
		res += f[c * n][(1 << n - 1) - 1], ++cnt;
	} while (next_permutation(l, l + n - 1)); 

	printf("%.13lf\n", (double)res / cnt / pow(c, n - 1));
	
	return 0;
}
