#include main() { int d, dice[15], subttl[15], x; char s[10]; double comb[15][300], m; while(true){ scanf("%d", &d); if(d == 0) return 0; m = 1.0; subttl[0] = 0; for(int i = 1; i <= d; i++){ scanf("%s", s); if(s[2] == 0) dice[i] = s[1] - '0'; else dice[i] = (s[1] - '0') * 10 + (s[2] - '0'); m *= dice[i]; subttl[i] = subttl[i - 1] + dice[i]; } scanf("%d", &x); for(int i = 0; i <= d; i++) for(int j = 0; j <= 299; j++) comb[i][j] = 0.0; comb[0][0] = 1.0; for(int i = 1; i <= d; i++) for(int j = 0; j <= subttl[i - 1]; j++) for(int k = 1; k <= dice[i]; k++){ comb[i][j + k] += comb[i - 1][j]; } /*for(int i = 1; i <=d; i++){ for(int j = 1; j <= 20; j++) printf("%4.0lf", comb[i][j]); printf("\n"); }*/ if(x > subttl[d]) printf("0.00000\n"); else printf("%.5lf\n", comb[d][x]/m); } }