import sys input = lambda :sys.stdin.readline()[:-1] ni = lambda :int(input()) na = lambda :list(map(int,input().split())) yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES") no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO") ####################################################################### mod = 10**9+7 for _ in range(ni()): n, m = na() m//=2 X = pow(n,m,mod) A = (1 + pow(n, 2*m, mod))*pow(n, 2*m, mod)//2%mod B = X*(X+1)*(2*X+1)//6%mod print((A-B)%mod)