#include <bits/stdc++.h>
using namespace std;
int n, p, a[50], sum = 0;
long long f[51][51];
long double ans = 0;
long double magic(int x) {
  long double res = 1;
  int hi = max(x, n - x - 1) + 1, lo = min(x, n - x - 1);
  for (int i = 2; i <= lo; ++i) {
    res *= i;
    if (res > hi && hi <= n) res /= hi++;
  }
  while (hi <= n) res /= hi++;
  return res;
}
int main() {
  cin >> n;
  for (int i = 0; i < n; ++i) {
    cin >> a[i];
    sum += a[i];
  }
  cin >> p;
  if (sum <= p) {
    cout << n;
    return 0;
  }
  for (int i = 0; i < n; ++i) {
    memset(f, 0, sizeof(f));
    f[0][0] = 1;
    int cnt = 0;
    for (int j = 0; j < n; ++j)
      if (j != i)
        for (int k = ++cnt; k; --k)
          for (int v = p - a[j]; v >= 0; --v) f[k][v + a[j]] += f[k - 1][v];
    for (int j = 1; j < n; ++j)
      for (int v = max(0, p - a[i] + 1); v <= p; ++v)
        ans += magic(j) * f[j][v] * j;
  }
  cout << ans;
  return 0;
}
