SOJ ONLINE JUDGE

몫의 나머지

난이도
Gold II
출제자
pizzaroot
시간 제한
1000 ms
메모리 제한
512 MB
수학정수론

$\lfloor b^n/a\rfloor$를 소수 $p$로 나눈 나머지를 구하는 프로그램을 작성하라.

입력

첫 번째 줄에 테스트 케이스의 개수 $T$가 주어진다. $(1\leq T\leq500)$

두 번째 줄부터 $T$개의 줄에 걸쳐 정수 $a, b, n$과 소수 $p$가 주어진다. $(1\leq n\leq10^{18}, 1\leq a<b<p\leq10^9+7)$

출력

각 테스트 케이스마다 $\lfloor b^n/a\rfloor$를 소수 $p$로 나눈 나머지를 한 줄에 하나씩 출력한다.

예제 입력 1

2
3 5 2 11
2 3 5 7

예제 출력 1

8
2

노트

$\lfloor5^2/3\rfloor\equiv8\pmod{11}$

$\lfloor3^5/2\rfloor\equiv2\pmod{7}$

제출

편집기에서 나가려면 Esc를 누른 뒤 Tab 또는 Shift와 Tab을 누르세요.