#include <bits/stdc++.h>
using namespace std;
double dp[101][101010];
int main() {
  int a, b;
  cin >> a >> b;
  vector<int> ms;
  for (int i = 0; i < a; ++i) {
    int s;
    cin >> s;
    ms.push_back(s);
  }
  if (b == 1) {
    cout << 1 << endl;
    return 0;
  }
  int msum = accumulate(ms.begin(), ms.end(), 0);
  vector<vector<double>> dp(101, vector<double>(110000));
  dp[0][0] = 1;
  vector<double> sas(110000);
  for (int solved = 0; solved < a; ++solved) {
    int ams = ms[solved];
    fill(sas.begin(), sas.end(), 0);
    for (int ps = 0; ps < 105000; ++ps) {
      sas[ps + 1] += (1.0 / (b - 1)) * dp[solved][ps];
      sas[ps + ams] += (-1.0 / (b - 1)) * dp[solved][ps];
      sas[ps + ams + 1] += (1.0 / (b - 1)) * dp[solved][ps];
      sas[ps + b + 1] += (-1.0 / (b - 1)) * dp[solved][ps];
    }
    dp[solved + 1][0] = 0;
    for (int ps = 0; ps < 105000; ++ps) {
      dp[solved + 1][ps + 1] = dp[solved + 1][ps] + sas[ps + 1];
    }
  }
  double ans = 0;
  for (int s = msum - 1; s > 0; --s) {
    ans += dp[a][s];
  }
  ans = 1 + ans * (b - 1);
  cout << setprecision(29) << ans << endl;
  return 0;
}
