#include using namespace std; using Int = long long; template inline void chmin(T1 &a,T2 b){if(a>b) a=b;} template inline void chmax(T1 &a,T2 b){if(a vector make_v(size_t a){return vector(a);} template auto make_v(size_t a,Ts... ts){ return vector(ts...))>(a,make_v(ts...)); } template typename enable_if::value==0>::type fill_v(T &t,const V &v){t=v;} template typename enable_if::value!=0>::type fill_v(T &t,const V &v){ for(auto &e:t) fill_v(e,v); } //INSERT ABOVE HERE signed main(){ int n,l; scanf("%d %d",&n,&l); l*=60; vector v(n); int sum=0; for(int i=0;i(2,n+1,l+1); vector fact(n+1,1); for(int i=1;i<=n;i++) fact[i]=fact[i-1]*i; D ans=0; fill_v(dp[0],0); dp[0][0][0]=1; for(int i=0;i=1&&k>=v[t]) dp[!f][j][k]-=dp[!f][j-1][k-v[t]]; if(k+v[t]>=l) ans+=dp[!f][j][k]*(j+1)*fact[j]*fact[n-(j+1)]; } } } } printf("%.12Lf\n",ans/fact[n]); return 0; }