sr=input().split() n=int(sr[0]) m=int(sr[1]) a=[[0 for i in range(2)]for j in range(n)] a[0][0]=int(sr[2]) a[0][1]=int(sr[3]) for i in range(1,n): a[i][0]=(a[i-1][0]*37011+10193)%10000+1 a[i][1]=(a[i-1][1]*73011+24793)%100+1 s=0 for i in range(n): s=s+a[i][0]*a[i][1] da=s/m l=1 r=da da=int((l+r)//2) while(l<=r): s=0 for i in range(n): s=s+(a[i][0]//da)*a[i][1] if(s>m): l=da+1 elif(s<m): r=da-1 else: break da=int((l+r)//2) print(da) /************************************************************** Problem: 1561 User: admin Language: Python Result: Accepted Time:794 ms Memory:35636 kb ****************************************************************/