fork download
  1. MOD=1000000007
  2.  
  3.  
  4. def power(no,p):
  5. if(p==0):
  6. return 1
  7. if(p==1):
  8. return no
  9. if(p&1==1):
  10. ans=power(no,p/2)
  11. return (((ans*ans)%MOD)*no)%MOD
  12. ans=power(no,p/2)
  13. return (ans*ans)%MOD
  14.  
  15.  
  16. def main():
  17. t=(int)(raw_input())
  18. q=[0 for i in range(110)]
  19. p=[0 for i in range(110)]
  20. arr=[0 for i in range(110)]
  21. while(t>0):
  22. v,n=map(int,raw_input().split())
  23. p[0],p[1],a0,b0,c0,m0=map(int,raw_input().split())
  24. q[0],q[1],a1,b1,c1,m1=map(int,raw_input().split())
  25. arr[0]=p[0]*m1+q[0]
  26. arr[1]=p[1]*m1+q[1]
  27. for i in range(2,n):
  28. p[i]=(a0*a0*p[i-1]+b0*p[i-2]+c0)%m0
  29. q[i]=(a1*a1*q[i-1]+b1*q[i-2]+c1)%m1
  30. arr[i]=(p[i]*m1+q[i])
  31. temp=1
  32. for i in range(0,n):
  33. temp*=arr[i]
  34. temp%=(MOD-1)
  35. if(temp==0):
  36. break;
  37. if(v%MOD==0)and(temp!=0):
  38. print(0)
  39. elif(temp==0):
  40. print(1)
  41. else:
  42. print (power(v,temp))
  43. t-=1
  44.  
  45.  
  46. main()
Success #stdin #stdout 0.08s 8888KB
stdin
3
1 2
1 1 1 1 1 1
1 1 1 1 1 1
3 2
1 1 1 1 1 2
2 1 1 1 1 1
3 3
1 1 1 1 1 2
1 1 0 0 0 2
stdout
1
729
387420489