#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
const int N = 5e5 + 10;
int n, m;
double dp[101][100001];
int x[101];
double giveres(int pos, int val) {
  if (val <= 0) return 0.0;
  if (pos == n) return 1.0;
  double &ret = dp[pos][val];
  if (ret != -1.0) return ret;
  ret = giveres(pos + 1, val - 1) - giveres(pos + 1, val - x[pos]) +
        giveres(pos + 1, val - x[pos] - 1) - giveres(pos + 1, val - m - 1);
  ret = ret / ((m - 1) * 1.0);
  ret = ret + giveres(pos, val - 1);
  return ret;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  for (int i = 0; i <= 100; i++)
    for (int j = 0; j <= 100000; j++) dp[i][j] = -1.0;
  cin >> n >> m;
  if (m == 1) {
    cout << 1;
    return 0;
  }
  int sum = 0;
  for (int i = 0; i < n; i++) {
    int a;
    cin >> a;
    sum += a;
    x[i] = a;
  }
  cout << setprecision(10) << fixed;
  cout << (m - 1) * giveres(0, sum) + 1 << '\n';
  return 0;
}
