#include <cstdio>
FILE* fin=fopen("iepuri.in","r");
FILE* fout=fopen("iepuri.out","w");
const int mod=666013;
struct mat{
long long _[3][3];
};
mat mul(mat m1,mat m2){
mat r;
r._[0][0]=((m1._[0][0]*m2._[0][0])%mod+(m1._[0][1]*m2._[1][0])%mod+(m1._[0][2]*m2._[2][0])%mod)%mod;
r._[0][1]=((m1._[0][0]*m2._[0][1])%mod+(m1._[0][1]*m2._[1][1])%mod+(m1._[0][2]*m2._[2][1])%mod)%mod;
r._[0][2]=((m1._[0][0]*m2._[0][2])%mod+(m1._[0][1]*m2._[1][2])%mod+(m1._[0][2]*m2._[2][2])%mod)%mod;
r._[1][0]=((m1._[1][0]*m2._[0][0])%mod+(m1._[1][1]*m2._[1][0])%mod+(m1._[1][2]*m2._[2][0])%mod)%mod;
r._[1][1]=((m1._[1][0]*m2._[0][1])%mod+(m1._[1][1]*m2._[1][1])%mod+(m1._[1][2]*m2._[2][1])%mod)%mod;
r._[1][2]=((m1._[1][0]*m2._[0][2])%mod+(m1._[1][1]*m2._[1][2])%mod+(m1._[1][2]*m2._[2][2])%mod)%mod;
r._[2][0]=((m1._[2][0]*m2._[0][0])%mod+(m1._[2][1]*m2._[1][0])%mod+(m1._[2][2]*m2._[2][0])%mod)%mod;
r._[2][1]=((m1._[2][0]*m2._[0][1])%mod+(m1._[2][1]*m2._[1][1])%mod+(m1._[2][2]*m2._[2][1])%mod)%mod;
r._[2][2]=((m1._[2][0]*m2._[0][2])%mod+(m1._[2][1]*m2._[1][2])%mod+(m1._[2][2]*m2._[2][2])%mod)%mod;
return r;
}
mat pow(mat m,int n){
if(n==1){
return m;
}else if(n&1){
mat t=pow(m,n>>1);
t=mul(t,t);
return mul(t,m);
}else{
mat t=pow(m,n>>1);
return mul(t,t);
}
}
int do_test(long long x,long long y,long long z,long long a,long long b,long long c,long long n){
mat m;
m._[0][0]=0,m._[0][1]=1,m._[0][2]=0;
m._[1][0]=0,m._[1][1]=0,m._[1][2]=1;
m._[2][0]=c,m._[2][1]=b,m._[2][2]=a;
m=pow(m,n-2);
return ((m._[2][0]*x)%mod+(m._[2][1]*y)%mod+(m._[2][2]*z)%mod)%mod;
}
int main(){
int t;
long long x,y,z,a,b,c,n;
fscanf(fin,"%d ",&t);
for(int i=0;i<t;i++){
fscanf(fin,"%lld %lld %lld %lld %lld %lld %lld",&x,&y,&z,&a,&b,&c,&n);
fprintf(fout,"%d\n",do_test(x,y,z,a,b,c,n));
}
fclose(fin);
fclose(fout);
return 0;
}