#include #include #include #include #include using namespace std; int N,K; int P[6],s[6],t[6]; map,tuple >memo; tuplef(vectorA) { if(memo.find(A)!=memo.end())return memo[A]; int mn=1e9,mx=-1; double p=0; int a[6],b[6]; int W=1; for(int i=0;iB=A; for(int j=0;j>j&1) { w*=a[j]; sum+=t[j]; } else { w*=b[j]; B[j]++; sum+=s[j]; } } if(w==0)continue; tuplenow; if(sum<=60)now=make_tuple(1,1,(double)w/W); else { now=f(B); get<0>(now)++; get<1>(now)++; get<2>(now)=(get<2>(now)+1)*(double)w/W; } mn=min(mn,get<0>(now)); mx=max(mx,get<1>(now)); p+=get<2>(now); } return memo[A]=make_tuple(mn,mx,p); } int main() { cin>>N>>K; int st=0; for(int i=0;i>P[i]>>s[i]>>t[i]; st+=t[i]; } if(st>60) { cout<<-1<ret=f(vector(N,0)); cout<(ret)<<" "<(ret)<<" "<(ret)<