#include using namespace std; typedef signed long long ll; #undef _P #define _P(...) (void)printf(__VA_ARGS__) #define FOR(x,to) for(x=0;x=sum) return _P("%d\n",N); double ret=0; FOR(j,N) { ZERO(dp); dp[0][0]=1; FOR(i,N) { FOR(x,i+1) { for(y=L;y>=0;y--) if(i!=j && dp[y][x]) dp[min(L,y+S[i])][x+1] += dp[y][x]; } } FOR(y,L) { for(x=0;x<=N;x++) if(dp[y][x]) { ret += dp[y][x] * fact[x] * fact[N-(x+1)]; } } } ret /= fact[N]; _P("%.12lf\n",ret); } int main(int argc,char** argv){ string s;int i; if(argc==1) ios::sync_with_stdio(false); FOR(i,argc-1) s+=argv[i+1],s+='\n'; FOR(i,s.size()) ungetc(s[s.size()-1-i],stdin); solve(); return 0; }