#include <bits/stdc++.h>
using namespace std;
const long long int MOD = 1000000007;
long long int bigmod(long long int b, long long int p, long long int m) {
  long long int r = 1ll;
  while (p) {
    if (p & 1ll) {
      r = (r * b) % m;
    }
    b = (b * b) % m;
    p >>= 1ll;
  }
  return r;
}
const int MAX = 55;
double dp[MAX][MAX][MAX];
int vp[MAX][MAX][MAX];
int cas = 1;
int a[MAX];
double f[MAX];
int n, p, l;
int k;
double rec(int i, int j, int s) {
  if (i > n) {
    if (j) return f[n - j] * f[j];
    return 0.0;
  }
  double &ret = dp[i][j][s];
  int &vet = vp[i][j][s];
  if (vet == cas) return ret;
  vet = cas;
  ret = 0;
  ret = rec(i + 1, j, s);
  if (s - a[i] >= 0) ret += rec(i + 1, j + 1, s - a[i]);
  return ret;
}
int main() {
  f[0] = 1.0;
  for (int i = 1; i < MAX; i++) f[i] = f[i - 1] * (double)i;
  while (scanf("%d", &n) == 1) {
    int s = 0;
    for (int i = 1; i <= n; i++) {
      scanf("%d", &a[i]);
      s += a[i];
    }
    scanf("%d", &p);
    ++cas;
    double res = rec(1, 0, p);
    res /= f[n];
    printf("%.12f\n", res);
  }
}
