#include <bits/stdc++.h>
long long dp[51][51];
long long dp2[51][51];
long long c[51][51];
int n, p;
int main(void) {
  scanf("%d", &n);
  dp[0][0] = 1;
  for (int i = 0; i < n; i++) {
    int a;
    scanf("%d", &a);
    for (int j = 0; j <= 50; j++)
      for (int k = 0; k <= 50; k++) {
        if (a + k <= 50) dp2[j + 1][a + k] += dp[j][k];
        dp2[j][k] += dp[j][k];
      }
    for (int j = 0; j <= 50; j++)
      for (int k = 0; k <= 50; k++) dp[j][k] = dp2[j][k];
    memset(dp2, 0, sizeof(dp2));
  }
  for (int i = 0; i <= 50; i++)
    for (int j = 1; j <= 50; j++) dp[i][j] += dp[i][j - 1];
  c[0][0] = 1;
  for (int i = 1; i <= 50; i++) {
    c[i][0] = 1;
    for (int j = 1; j <= 50; j++) c[i][j] = c[i - 1][j - 1] + c[i - 1][j];
  }
  scanf("%d", &p);
  double sol = 0;
  for (int i = 1; i <= n; i++) sol += (double)dp[i][p] / c[n][i];
  printf("%.9lf\n", sol);
  return 0;
}
