#include <bits/stdc++.h>
using namespace std;
const int M = 1e4 + 5, N = 105;
int read() {
  int x = 0, y = 1;
  char ch = getchar();
  while (ch < '0' || ch > '9') y = (ch == '-') ? -1 : 1, ch = getchar();
  while (ch >= '0' && ch <= '9')
    x = (x << 3) + (x << 1) + ch - '0', ch = getchar();
  return x * y;
}
double min(double x, double y) { return x < y ? x : y; }
int c[M];
double Ans = 0.0, f[N][M];
void solve() {
  int n = read(), x = read(), m = 0;
  for (int i = 1; i <= n; i++) c[i] = read(), m += c[i];
  f[0][0] = 1.0;
  for (int i = 1; i <= n; i++)
    for (int k = n; k >= 1; k--)
      for (int j = c[i]; j <= m; j++)
        f[k][j] += (double)1.0 * f[k - 1][j - c[i]] * k / (n - k + 1);
  for (int k = 1; k <= n; k++)
    for (int j = 0; j <= m; j++)
      Ans += f[k][j] * min((double)1.0 * (1.0 * n / k + 1.0) * x / 2.0,
                           (double)1.0 * j / k);
  printf("%.10f\n", Ans);
}
signed main() { solve(); }
