#誤解法(n=max(N,1)+8に限定する愚直冪乗)チェック I=input for t in[0]*int(I()): B,N,M=map(int,I().split()) D=B**N E=B**(max(N,1)+8) P=pow(M,E,E*D)-1 a=P//E print(-1if(P-a*E)%(E*D)else a%D)