#include <bits/stdc++.h>
using namespace std;
const int MAXN = 55;
long double jc[MAXN];
long double dp[MAXN][MAXN][2 * MAXN];
int a[MAXN];
int main() {
  memset(a, 0, sizeof(a));
  memset(dp, 0, sizeof(dp));
  memset(jc, 0, sizeof(jc));
  int n;
  scanf("%d", &n);
  jc[0] = 1;
  for (int i = 1; i <= n; i++) {
    jc[i] = jc[i - 1] * (long double)i;
    scanf("%d", &a[i]);
  }
  sort(a + 1, a + n + 1);
  int m;
  scanf("%d", &m);
  dp[1][0][0] = 1;
  dp[1][1][a[1]] = 1;
  for (int i = 1; i <= n; i++) {
    for (int j = 0; j <= i; j++) {
      for (int k = 0; k <= m; k++) {
        dp[i + 1][j + 1][k + a[i + 1]] += dp[i][j][k];
        dp[i + 1][j][k] += dp[i][j][k];
      }
    }
  }
  long double res = 0;
  for (int j = 1; j <= n; j++) {
    for (int k = 0; k <= m; k++) {
      res += dp[n][j][k] * (jc[j] * jc[n - j]);
    }
  }
  res = res / jc[n];
  cout << res << endl;
  return 0;
}
