def prod(mat0,mat1): mat=[0]*4 for i in range(2): for j in range(2): for k in range(2): mat[i<<1|k]+=mat0[i<<1|j]*mat1[j<<1|k]%mod mat[i<<1|k]%=mod return mat N=int(input()) ans=1 mod=10**9+7 M=[[1,1,1,0]] for i in range(1,60): M.append(prod(M[-1],M[-1])) for n in range(N): c,d=map(int,input().split()) if d>mod: d%=mod-1 mat=[1,0,0,1] for b in range(60): if c+1>>b&1: mat=prod(mat,M[b]) ans*=pow(mat[0],d,mod) ans%=mod print(ans)