#include <bits/stdc++.h>
using namespace std;
const int N = 100, M = 10000;
int n, m, a[N + 9], ca;
double x, ans;
void into() {
  scanf("%d%lf", &n, &x);
  int p = 0;
  for (int i = 1; i <= n; ++i) {
    int t;
    scanf("%d", &t);
    t << 1 <= x ? ans += t : m += a[++ca] = t;
  }
  x /= 2;
}
double dp[N + 9][M + 9];
void Get_dp() {
  dp[0][0] = 1;
  for (int i = 1; i <= ca; ++i)
    for (int j = i; j >= 1; --j)
      for (int k = m; k >= a[i]; --k)
        dp[j][k] += dp[j - 1][k - a[i]] * j / (ca - j + 1);
}
void Get_ans() {
  for (int i = 1; i <= ca; ++i)
    for (int j = 0; j <= m; ++j)
      ans += dp[i][j] * min((1.0 * n / i + 1) * x, 1.0 * j / i);
}
void work() {
  Get_dp();
  Get_ans();
}
void outo() { printf("%.12lf\n", ans); }
int main() {
  into();
  work();
  outo();
  return 0;
}
