#include <bits/stdc++.h>
using namespace std;
int p, n, arr[65];
double dp[55][55][55][55];
bool v[55][55][55][55];
double calc(int ntk, int pr, int st, int rem) {
  int i, j, k;
  double &x = dp[ntk][pr][st][rem];
  if (v[ntk][pr][st][rem]) return dp[ntk][pr][st][rem];
  if (st == n + 1) {
    if (rem < arr[ntk]) {
      x = pr;
      for (i = 1, j = pr + 1; j < n; i++, j++) x = (x * i) / j;
      x /= n;
    } else
      x = 0;
    v[ntk][pr][st][rem] = 1;
    return x;
  }
  x = calc(ntk, pr, st + 1, rem);
  if (arr[st] <= rem && st != ntk)
    x += calc(ntk, pr + 1, st + 1, rem - arr[st]);
  v[ntk][pr][st][rem] = 1;
  return x;
}
int main() {
  int sum = 0;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> arr[i];
    sum += arr[i];
  }
  cin >> p;
  if (sum <= p) {
    cout << n;
    return 0;
  }
  double ans = 0;
  for (int i = 1; i <= n; i++) ans += calc(i, 0, 1, p);
  printf("%.10lf", ans);
  return 0;
}
