mod = 10 ** 9 + 7 s = int(input()) for i in range(s): n, m, k = map(int, input().split()) # ΣnCk*m^k*1^(n-k)=(1+m)^n res = pow(m + 1, n, mod) if k: # mの奇数乗が残る res = (res - pow(1 - m, n, mod)) % mod else: res = (res + pow(1 - m, n, mod)) % mod res = res * pow(2, mod - 2, mod) % mod print(res)