#include <bits/stdc++.h>
using namespace std;
double fac[55], f[55][55][55];
int a[55];
int main() {
  fac[0] = 1;
  for (int i = 1; i <= 54; i++) {
    fac[i] = fac[i - 1] * i;
  }
  int n;
  scanf("%d", &n);
  int sum = 0;
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
    sum += a[i];
  }
  int p;
  scanf("%d", &p);
  if (sum <= p) {
    printf("%d\n", n);
  } else {
    for (int i = 1; i <= n; i++) {
      f[0][0][i] = 1;
    }
    for (int i = 1; i <= n; i++) {
      for (int j = 1; j <= n; j++) {
        if (i != j) {
          for (int k = n; k >= 1; k--) {
            for (int x = p; x >= 0 && x >= a[i]; x--) {
              f[x][k][j] += f[x - a[i]][k - 1][j];
            }
          }
        }
      }
    }
    double ans = 0;
    for (int i = 1; i <= n; i++) {
      if (a[i] > p) {
        a[i] = p + 1;
      }
      for (int x = p + 1 - a[i]; x <= p; x++) {
        for (int k = 1; k <= n; k++) {
          ans += f[x][k][i] * fac[k] * fac[n - k - 1] * k;
        }
      }
    }
    ans /= fac[n];
    printf("%.7lf\n", ans);
  }
  return 0;
}
