MOD = 998244353 def solve(A,B,K): if B==0: if A > 0: return A*K % MOD else: return 0 if B==1: if A > 0: return A*K % MOD else: return 0 if B==-1: if A > 0: return A*K % MOD else: return (-1 * A * (K-1)) % MOD if B > 1: if A >= 2: return A * pow(B,K-1,MOD) % MOD elif A == 1: return A * K % MOD else: return 0 assert B <= -2 if A >= 2: if K%2: return A * pow(B,K-1,MOD) % MOD else: return (A+A) * pow(B,K-2,MOD) % MOD elif A == 1: return 1 elif A == 0: return 0 elif A == -1: return 1 if K>=2 else 0 else: assert A <= -2 if K%2: return (A+A) * pow(B,K-2,MOD) * MOD else: return A * pow(B,K-1,MOD) % MOD T = int(input()) anss = [] for _ in range(T): A,B,K = map(int,input().split()) anss.append(solve(A,B,K)) print(*anss, sep='\n')