#include <bits/stdc++.h>
using namespace std;
int n;
double dp[107][10007], ans, x, c[107], s;
inline int read() {
  int f = 1, w = 0;
  char ch = 0;
  while (ch < '0' || ch > '9') {
    if (ch == '-') f = -1;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9')
    w = (w << 1) + (w << 3) + ch - '0', ch = getchar();
  return f * w;
}
int main() {
  n = read(), x = read(), dp[0][0] = 1;
  for (int i = 1; i <= n; i++) c[i] = read(), s += c[i];
  for (int i = 1; i <= n; i++)
    for (int j = n; j; j--)
      for (int k = c[i]; k <= s; k++)
        dp[j][k] += dp[j - 1][k - (int)c[i]] * j / (n - j + 1);
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= s; j++)
      ans += dp[i][j] * min((n + i) * x / 2, 1.0 * j) / i;
  printf("%.10lf\n", ans);
  return 0;
}
