#include <bits/stdc++.h>
using namespace std;
int N, M, x[100];
double dp[100001][100];
int main() {
  scanf("%d%d", &N, &M);
  int ts = 0;
  for (int n = 0; n < int(N); n++) {
    scanf("%d", x + n);
    ts += x[n];
  }
  if (M == 1) {
    puts("1");
    return 0;
  }
  for (int i = 0; i < int(N); i++)
    for (int ms = 1; ms < int(ts); ms++) {
      double& ans = dp[ms][i];
      if (i) {
        if (ms) ans += dp[ms - 1][i - 1];
        if (ms - x[i] >= 0) ans -= dp[ms - x[i]][i - 1];
        if (ms - x[i] - 1 >= 0) ans += dp[ms - x[i] - 1][i - 1];
        if (ms - M - 1 >= 0) ans -= dp[ms - M - 1][i - 1];
        ans /= M - 1;
      } else {
        if (ms != x[0] && ms <= M) ans++;
      }
      if (ms) ans += dp[ms - 1][i];
    }
  printf("%.16f\n", 1.0 + dp[ts - 1][N - 1]);
}
