#include <bits/stdc++.h>
using namespace std;
inline long long read() {
  char c = getchar();
  long long x = 0;
  bool f = 0;
  for (; !isdigit(c); c = getchar()) f ^= !(c ^ 45);
  for (; isdigit(c); c = getchar()) x = (x << 1) + (x << 3) + (c ^ 48);
  if (f) x = -x;
  return x;
}
long long n, m, c[10005];
double res, x;
double f[105][10005];
signed main() {
  n = read(), x = read();
  x *= 0.5;
  for (register long long i = (1); i <= (n); ++i) c[i] = read(), m += c[i];
  f[0][0] = 1;
  for (register long long i = (1); i <= (n); ++i)
    for (register long long j = (i); j >= (1); --j)
      for (register long long k = (c[i]); k <= (m); ++k)
        f[j][k] += f[j - 1][k - c[i]] * j / (1.0 * (n - j + 1));
  for (register long long i = (1); i <= (n); ++i)
    for (register long long j = (0); j <= (m); ++j)
      res += f[i][j] * min(1.0 * j / i, (1.0 * n / i + 1) * x);
  printf("%.10lf", res);
  return 0;
}
