#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e2 + 5;
int c[MAXN];
double v[MAXN];
long double dp[MAXN][MAXN * MAXN], ncr[MAXN][MAXN];
int main() {
  ncr[0][0] = ncr[1][0] = 1;
  for (int i = 1; i < MAXN; i++, ncr[i][0] = 1)
    for (int j = 1; j <= i; j++) ncr[i][j] = ncr[i - 1][j - 1] + ncr[i - 1][j];
  int n, x;
  scanf("%d %d", &n, &x);
  for (int i = 1; i <= n; i++) scanf("%d", c + i);
  dp[0][0] = 1;
  for (int i = 1; i <= n; i++)
    for (int k = i; k; k--)
      for (int s = c[i]; s <= 100 * 100; s++) dp[k][s] += dp[k - 1][s - c[i]];
  double ans = 0, sm = 0;
  for (int i = 1; i <= n; i++) {
    sm += c[i];
    v[i - 1] = (double)x / 2. * ((double)n / (double)(n - i + 1) + 1.);
  }
  for (int k = 0; k < n; k++)
    for (int s = 0; s <= sm; s++)
      ans +=
          dp[k][s] / ncr[n][k] * min(v[k], ((double)sm - s) / ((double)n - k));
  printf("%.12f\n", ans);
  return 0;
}
