x,a,b,m,n,i,t,ans,c,c3; inv9[]={0,1,5,0,7,2,0,4,8}; f3(n){int i=0;for(;n&&n%3==0;n/=3)i++;return i;} g3(n){for(;n&&n%3==0;n/=3);return n;} main(){ for(gets(&i);~scanf("%d%d%d%d%d",&n,&x,&a,&b,&m);){ n--; t=ans=c3=0,c=1; for(i=0;i<=n;i++){ t+=x%10; ans+=c*(c3?c3==1?3:0:1)*(x%10)%9; c3+=f3(n-i)-f3(i+1); c=(c*g3(n-i)*inv9[g3(i+1)%9])%9; x=((x^a)+b)%m; } printf("%d\n",ans%9?:t?9:0); } return 0; }