#include <bits/stdc++.h>
using namespace std;
int A[55], ctos, lleno;
long long D[52][52][52][52];
double res = 0, suma;
int main() {
  scanf("%d", &ctos);
  for (int i = 1; i <= ctos; i++) {
    scanf("%d", &A[i]);
    suma += A[i];
  }
  scanf("%d", &lleno);
  for (int quien = 1; quien <= ctos; quien++) {
    for (int dnde = ctos + 1; dnde > 0; dnde--) {
      for (int lleva = 0; lleva <= 50; lleva++) {
        for (int lugares = 0; lugares <= ctos; lugares++) {
          if (dnde == quien) {
            D[dnde][lleva][lugares][quien] = D[dnde + 1][lleva][lugares][quien];
          } else if (dnde > ctos) {
            if (lleva == 0 and lugares == 0) {
              D[dnde][lleva][lugares][quien] = 1;
            } else {
              D[dnde][lleva][lugares][quien] = 0;
            }
          } else if (lleva == 0 or lugares == 0) {
            if (lleva == 0 and lugares == 0) {
              D[dnde][lleva][lugares][quien] = 1;
            } else {
              D[dnde][lleva][lugares][quien] = 0;
            }
          } else {
            D[dnde][lleva][lugares][quien] = D[dnde + 1][lleva][lugares][quien];
            if (lleva >= A[dnde]) {
              D[dnde][lleva][lugares][quien] +=
                  D[dnde + 1][lleva - A[dnde]][lugares - 1][quien];
            }
          }
        }
      }
    }
  }
  if (suma <= lleno) {
    res = ctos;
  } else {
    for (int i = ctos - 1; i > 0; i--) {
      for (int eleg = 1; eleg <= ctos; eleg++) {
        suma = 0;
        for (int es = lleno - A[eleg] + 1; es <= lleno; es++) {
          suma += D[1][es][i][eleg];
        }
        suma *= i;
        for (double e = ctos; e > i; e--) {
          suma /= e;
        }
        for (int e = 2; e <= ctos - i - 1; e++) {
          suma *= e;
        }
        res += suma;
      }
    }
  }
  cout << res << "\n";
  return 0;
}
