#include <bits/stdc++.h>
using namespace std;
const long double pi = acos(-1.0);
const long double eps = 1e-8;
const int INF = 1E9;
const int MAXN = 111;
const int MAXM = 111111;
int n, m;
int a[MAXN], lim;
long double dp[2][MAXM], sum[MAXM];
long double getSum(int L, int R) {
  long double res = sum[R];
  if (L > 0) res -= sum[L - 1];
  return res;
}
int main() {
  cin >> n >> m;
  lim = 0;
  for (int i = 0; i < (int)(n); i++) {
    cin >> a[i];
    lim += a[i];
  }
  if (m == 1) {
    cout << 1 << '\n';
    return 0;
  }
  dp[0][0] = 1;
  int id = 0;
  for (int i = 0; i < n; i++) {
    id ^= 1;
    for (int j = 0; j < MAXM; j++) dp[id][j] = 0;
    sum[0] = dp[id ^ 1][0];
    for (int j = (int)(1); j < (int)(MAXM); j++)
      sum[j] = sum[j - 1] + dp[id ^ 1][j];
    for (int j = 1; j < MAXM; j++) {
      int R = j - 1;
      int L = max(0, j - m);
      dp[id][j] = getSum(L, R) / (m - 1);
      if (0 <= j - a[i]) dp[id][j] -= dp[id ^ 1][j - a[i]] / (m - 1);
    }
  }
  long double totalProb = 0;
  for (int j = 0; j < lim; j++) totalProb += dp[id][j];
  long double ans = 1.0 + totalProb * (m - 1);
  cout.precision(30);
  cout << (double)ans;
  return 0;
}
