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