#include <bits/stdc++.h>
using namespace std;
long long n, m, tot, c[105];
double ans, sum[105 * 1005], f[105][105 * 1005];
template <typename T>
inline void read(T &x) {
  T f = 0, c = getchar();
  for (; c < 48 || 57 < c; c = getchar())
    if (c == '-') f = 1;
  for (x = 0; 48 <= c && c <= 57; c = getchar())
    x = (x << 3) + (x << 1) + (c ^ 48);
  if (f) x = -x;
}
signed main() {
  read(n), read(m), f[0][0] = sum[0] = 1;
  for (register long long i = 1; i <= n; ++i) read(c[i]), tot += c[i];
  for (register long long i = 1; i <= n; ++i) {
    for (register long long j = i, l, r; j <= i * m; ++j) {
      l = max(i - 1, j - m), r = min((i - 1) * m, j - 1);
      f[i][j] = sum[r] / (m - 1);
      if (l) f[i][j] -= sum[l - 1] / (m - 1);
      if (l <= j - c[i] && j - c[i] <= r)
        f[i][j] -= f[i - 1][j - c[i]] / (m - 1);
    }
    for (register long long j = 1; j <= i * m; ++j)
      sum[j] = sum[j - 1] + f[i][j];
  }
  for (register long long i = n; i < tot; ++i) ans += f[n][i];
  printf("%.16lf", ans * (m - 1) + 1);
  return 0;
}
