#include <bits/stdc++.h>
using namespace std;
int N, a[55], P;
double dp[55][55][55];
double fac(int n) {
  double ans = 1;
  for (int i = 0; i < (n); i++) ans *= (i + 1);
  return ans;
}
int main(int argc, char *argv[]) {
  scanf("%d", &N);
  for (int i = 0; i < (N); i++) scanf("%d", a + i);
  scanf("%d", &P);
  dp[0][0][0] = 1;
  for (int i = 0; i < (N); i++)
    for (int in = (0); in <= (N); in++)
      for (int p = (0); p <= (P); p++)
        if (dp[i][in][p]) {
          dp[i + 1][in][p] += dp[i][in][p];
          if (p + a[i] <= P) dp[i + 1][in + 1][p + a[i]] += dp[i][in][p];
        }
  double tmp = 0, ans = 0, sum;
  for (int in = (N); in >= (0); in--) {
    sum = 0;
    for (int p = (0); p <= (P); p++) sum += dp[N][in][p];
    sum *= fac(in) * fac(N - in);
    ans += in * (sum - tmp);
    tmp = sum;
  }
  printf("%.9lf\n", ans / fac(N));
  return 0;
}
