#include <bits/stdc++.h>
using namespace std;
const int MAXN = 101;
const int MAXM = 1010;
const int MAXSUM = 100100;
int n, m, p[MAXN], sol;
double dp[MAXN][MAXSUM], pref[MAXSUM];
int main() {
  scanf("%d %d", &n, &m);
  if (m == 1) {
    puts("1");
    return 0;
  }
  for (int i = (1); i < int(n + 1); i++) {
    scanf("%d", &p[i]);
    sol += p[i];
  }
  dp[0][0] = 1.0;
  pref[0] = 1.0;
  for (int i = (1); i < int(m + 1); i++) pref[i] = pref[i - 1] + dp[0][i];
  for (int i = (1); i < int(n + 1); i++) {
    for (int j = (1); j < int(i * m + 1); j++) {
      dp[i][j] = pref[j - 1] / (m - 1);
      if (j >= m + 1) dp[i][j] -= pref[j - m - 1] / (m - 1);
      if (j >= p[i]) dp[i][j] -= dp[i - 1][j - p[i]] / (m - 1);
    }
    pref[0] = dp[i][0];
    for (int j = (1); j < int((i + 1) * m + 1); j++)
      pref[j] = pref[j - 1] + dp[i][j];
  }
  printf("%.10lf\n", pref[sol - 1] * (m - 1) + 1);
  return 0;
}
