#include <bits/stdc++.h>
using namespace std;
int x[100];
double buf[2][100 * 1000];
double *prv, *cur;
double csum[100 * 1000];
int main() {
  ios_base::sync_with_stdio(false);
  int n, m;
  cin >> n >> m;
  if (m == 1) {
    cout << "1.00000000000000";
    return 0;
  }
  int ssum = 0;
  for (int i = 0; i < n; i++) {
    cin >> x[i];
    ssum += x[i];
  }
  prv = buf[0];
  cur = buf[1];
  for (int i = 1; i < ssum; i++) prv[i] = 0;
  prv[0] = 1;
  for (int i = 0; i < n; i++) {
    csum[0] = prv[0];
    for (int j = 1; j < ssum; j++) {
      csum[j] = csum[j - 1] + prv[j];
    }
    for (int j = 0; j < ssum; j++) {
      cur[j] = 0;
      double cs;
      if (j == 0)
        cs = 0;
      else
        cs = csum[j - 1] - (j < m + 1 ? 0 : csum[j - m - 1]);
      if (j >= x[i]) cs -= prv[j - x[i]];
      cur[j] = cs / (m - 1);
    }
    swap(cur, prv);
  }
  double prob = 0;
  for (int i = 0; i < ssum; i++) {
    prob += prv[i];
  }
  cout.precision(20);
  cout << fixed << 1 + prob * (m - 1);
}
