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