#include <bits/stdc++.h>
using namespace std;
inline int read() {
  int N = 0, C = 0;
  char tf = getchar();
  for (; !isdigit(tf); tf = getchar()) C |= tf == '-';
  for (; isdigit(tf); tf = getchar()) N = (N << 1) + (N << 3) + (tf ^ 48);
  return C ? -N : N;
}
const int N = 110, M = 1010;
int n, m, c[N], skr, L, R;
double d, ans;
double f[N][N * M], sum[N * M];
int main() {
  n = read(), m = read(), d = 1.0 / (m - 1);
  for (int i = 1; i <= n; ++i) skr += c[i] = read();
  f[0][0] = sum[0] = 1;
  for (int i = 1; i <= n; ++i) {
    for (int j = i; j <= i * m; ++j) {
      L = max(i - 1, j - m), R = min((i - 1) * m, j - 1);
      f[i][j] = d * sum[R];
      if (L) f[i][j] -= d * sum[L - 1];
      if (L <= j - c[i] && j - c[i] <= R) f[i][j] -= d * f[i - 1][j - c[i]];
    }
    for (int j = 1; j <= i * m; ++j) sum[j] = sum[j - 1] + f[i][j];
  }
  for (int j = n; j < skr; ++j) ans += f[n][j];
  printf("%.16lf", ans * (m - 1) + 1);
  return 0;
}
