MOD=1000000007
def power(no,p):
if(p==0):
return 1
if(p==1):
return no
if(p&1==1):
ans=power(no,p/2)
return (((ans*ans)%MOD)*no)%MOD
ans=power(no,p/2)
return (ans*ans)%MOD
def main():
t=(int)(raw_input())
q=[0 for i in range(110)]
p=[0 for i in range(110)]
arr=[0 for i in range(110)]
while(t>0):
v,n=map(int,raw_input().split())
p[0],p[1],a0,b0,c0,m0=map(int,raw_input().split())
q[0],q[1],a1,b1,c1,m1=map(int,raw_input().split())
arr[0]=p[0]*m1+q[0]
arr[1]=p[1]*m1+q[1]
for i in range(2,n):
p[i]=(a0*a0*p[i-1]+b0*p[i-2]+c0)%m0
q[i]=(a1*a1*q[i-1]+b1*q[i-2]+c1)%m1
arr[i]=(p[i]*m1+q[i])
temp=1
for i in range(0,n):
temp*=arr[i]
temp%=(MOD-1)
if(temp==0):
break;
if(v%MOD==0)and(temp!=0):
print(0)
elif(temp==0):
print(1)
else:
print (power(v,temp))
t-=1
main()
TU9EPTEwMDAwMDAwMDcKCgpkZWYgcG93ZXIobm8scCk6CiAgICBpZihwPT0wKToKICAgICAgICByZXR1cm4gMQogICAgaWYocD09MSk6CiAgICAgICAgcmV0dXJuIG5vCiAgICBpZihwJjE9PTEpOgogICAgICAgIGFucz1wb3dlcihubyxwLzIpCiAgICAgICAgcmV0dXJuICgoKGFucyphbnMpJU1PRCkqbm8pJU1PRAogICAgYW5zPXBvd2VyKG5vLHAvMikKICAgIHJldHVybiAoYW5zKmFucyklTU9ECgoKZGVmIG1haW4oKToKICAgIHQ9KGludCkocmF3X2lucHV0KCkpCiAgICBxPVswIGZvciBpIGluIHJhbmdlKDExMCldCiAgICBwPVswIGZvciBpIGluIHJhbmdlKDExMCldCiAgICBhcnI9WzAgZm9yIGkgaW4gcmFuZ2UoMTEwKV0KICAgIHdoaWxlKHQ+MCk6CiAgICAgICAgdixuPW1hcChpbnQscmF3X2lucHV0KCkuc3BsaXQoKSkgCiAgICAgICAgcFswXSxwWzFdLGEwLGIwLGMwLG0wPW1hcChpbnQscmF3X2lucHV0KCkuc3BsaXQoKSkKICAgICAgICBxWzBdLHFbMV0sYTEsYjEsYzEsbTE9bWFwKGludCxyYXdfaW5wdXQoKS5zcGxpdCgpKQogICAgICAgIGFyclswXT1wWzBdKm0xK3FbMF0KICAgICAgICBhcnJbMV09cFsxXSptMStxWzFdCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMixuKToKICAgICAgICAgICAgcFtpXT0oYTAqYTAqcFtpLTFdK2IwKnBbaS0yXStjMCklbTAKICAgICAgICAgICAgcVtpXT0oYTEqYTEqcVtpLTFdK2IxKnFbaS0yXStjMSklbTEKICAgICAgICAgICAgYXJyW2ldPShwW2ldKm0xK3FbaV0pCiAgICAgICAgdGVtcD0xCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCxuKToKICAgICAgICAgICAgdGVtcCo9YXJyW2ldCiAgICAgICAgICAgIHRlbXAlPShNT0QtMSkKICAgICAgICAgICAgaWYodGVtcD09MCk6CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICBpZih2JU1PRD09MClhbmQodGVtcCE9MCk6CiAgICAgICAgICAgIHByaW50KDApCiAgICAgICAgZWxpZih0ZW1wPT0wKToKICAgICAgICAgICAgcHJpbnQoMSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBwcmludCAocG93ZXIodix0ZW1wKSkKICAgICAgICB0LT0xCgoKbWFpbigp