#include<cstdio>
const int MOD=666013;
class Array{
public:
long long a[4][4];
int n,m;
Array(){
}
Array(int aa,int bb,int cc){
a[1][1]=aa;
a[2][1]=bb;
a[3][1]=cc;
n=3;
m=1;
}
Array(int a11,int a12,int a13,int a21,int a22,int a23,int a31,int a32,int a33){
a[1][1]=a11;
a[1][2]=a12;
a[1][3]=a13;
a[2][1]=a21;
a[2][2]=a22;
a[2][3]=a23;
a[3][1]=a31;
a[3][2]=a32;
a[3][3]=a33;
n=3;
m=3;
}
Array operator*(const Array&ar)const{
Array ax;
for(int i=1;i<=n;i++)
for(int j=1;j<=ar.m;j++){
int nr=0;
for(int i1=1;i1<=m;i1++)
nr+=(a[i][i1]*ar.a[i1][j])%MOD;
ax.a[i][j]=nr;
}
ax.n=n;
ax.m=ar.m;
return ax;
}
};
Array first,a;
Array power(Array a,int b){
Array nr;
if(b==1)
return a;
if(b%2==0){
nr=power(a,b/2);
return nr*nr;
}
return power(a,b-1)*a;
}
int t,x,y,z,aa,b,c,n;
int main(){
freopen("iepuri.in","r",stdin);
freopen("iepuri.out","w",stdout);
scanf("%d",&t);
while(t){
t--;
scanf("%d%d%d%d%d%d%d",&x,&y,&z,&aa,&b,&c,&n);
a=Array(aa,b,c,1,0,0,0,1,0);
a=power(a,n-2);
first=Array(z,y,x);
printf("%d\n",(a*first).a[1][1]);
}
return 0;
}