#P1595. Fibonacci数列(十)

Fibonacci数列(十)

定义Fibonacci数列:

F(0) =0,F(1)=1           (n<2)         

F(n) =F(n-1) +F(n-2)   (n>1);

定义G(n)如下:

G(1)=F(a^b)                 (n=1);

G(n)=G(n-1)^F(a^b)      (n>1).

请计算G(n)模c的值。

Input

每行有四个数分别为a,b,n,c。其中(10<=a, b<2^64, 2<=n<2^64, 1<=c<=300)

Output

输出G(n)模c的值,每个结果占一行。

Sample Input

17 18446744073709551615 1998 139

Sample Output

120

HINT

Source