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
****************************************************************/