Given an integer x. Your task is to find out how many positive integers n (1 ≤ n ≤ x) satisfy $$$n ⋅ a^n ≡ b   (mod\;p), where a, b, p$$$ are all known constants.

Input

The only line contains four integers a,b,p,x (2 ≤ p ≤ 10^6+3, 1 ≤ a,b < p, 1 ≤ x ≤ 10^{12}). It is guaranteed that p is a prime.

Output

Print a single integer: the number of possible answers n.

Examples

Input

2 3 5 8


Output

2


Input

4 6 7 13


Output

1


Input

233 233 10007 1


Output

1

Note

In the first sample, we can see that n=2 and n=8 are possible answers.
a,b,p,x=map(int,input().split())
ans=0
for j in range(p-1):    
    y = b*pow(a,p-1-j,p) % p  
    i = (j-y) % p
    n = i*(p-1)+j
    if(x-n>=0):
        ans+=((x-n)//(p*(p-1))+1)
print(ans)       

# code's first steps are not commented because they are exactly how they were described in the problem's "paper"
# the conditional checks how many valid values can n take given the current j. 
# given a valid i, let i' be next valid i. So i'= i + p. Hence next valid n is equal to (i+p)(p-1)+j, which is equal to n+p(p-1)
# the first valid n is not counted in the division and that's why 1 is added after it