#include <bits/stdc++.h>
int a[50];
double pd[64][64];
double fact[64];
int main() {
  int n, p;
  double sol = 0;
  fact[0] = 1;
  for (int i = 1; i < 64; i++) fact[i] = i * fact[i - 1];
  scanf("%d", &n);
  for (int i = 0; i < n; i++) scanf("%d", &a[i]);
  scanf("%d", &p);
  for (int i = 0; i < n; i++) {
    memset(pd, 0, sizeof(pd));
    pd[0][0] = 1;
    for (int l = 0; l < n; l++) {
      if (i == l) continue;
      for (int j = n - 1; j >= 1; j--) {
        for (int k = p; k >= 0; k--) {
          if (k >= a[l]) pd[j][k] += pd[j - 1][k - a[l]];
        }
      }
    }
    for (int j = 0; j < n; j++)
      for (int k = 0; k <= p - a[i]; k++)
        sol += pd[j][k] * fact[n - 1 - j] * fact[j];
  }
  printf("%.6lf\n", sol / fact[n]);
}
