class Solution:
def solve(self, a: int, b: int, p: int):
result = 1
smod = a % p
runnum = b
while runnum > 0:
if runnum % 2 == 0:
runnum = runnum >> 1
smod = (smod * smod) % p
else:
runnum -= 1
result = result * smod % p
print(result)
def calHalf(self, a: int):
b = 0
while a > (b + b):
b += 1
return b
if __name__ == '__main__':
q = input() # 输入行信息
q = int(q)
solution = Solution()
for _ in range(q):
message = input()
spinfo = message.split(" ")
a = int(spinfo[0])
b = int(spinfo[1])
p = int(spinfo[2])
solution.solve(a, b, p)