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