#P3665. maths

maths

Description

已知 An=KnAn1mA_n=K^n * {A_{n-1}}^m A0A_0AnmodpA_n \mod p

Input Format

第一行两个数 TTpp 表示数据组数和 pp

接下来 TT 行每行 44 个数分别表示 M,A0,K,nM,A_0,K,n

Output Format

T行,每行一个数表示答案

输入数据

样例输入 #1

1 10000000007
2 2 2 2

样例输出 #1

256

Hint

对于 100100% 的数据

$T=2500 p<=10^12 n,M,A_0,K \le 10^18

pp与 A_0$ 互质

ppKK 互质。