#include<stdio.h>
#define fin "iepuri.in"
#define fout "iepuri.out"
#define Mod 666013
int n,t;
int templ[4][4]={ 0 , 0 , 0 , 0 ,
0 , 0 , 1 , 0 ,
0 , 0 , 0 , 1 ,
0 , 0 , 0 , 0 };
FILE *in,*out;
void init(long long mat[][4],int a,int b,int c) {
int i,j;
for (i=1;i<4;++i)
for (j=1;j<4;++j) mat[i][j]=templ[i][j];
mat[3][1]=c; mat[3][2]=b; mat[3][3]=a;
}
void unit(long long mat[][4]) {
int i,j;
for (i=1;i<4;++i)
for (j=1;j<4;++j)
if (i==j)
mat[i][j]=1;
else
mat[i][j]=0;
}
void mult(long long a[][4],long long b[][4]) {
int i,j;
long long c[4][4];
for (i=1;i<4;++i)
for (j=1;j<4;++j) {
c[i][j]=(a[i][1]*b[1][j])%Mod;
c[i][j]=(c[i][j] + (a[i][2]*b[2][j])%Mod)%Mod;
c[i][j]=(c[i][j] + (a[i][3]*b[3][j])%Mod)%Mod;
}
for (i=1;i<4;++i)
for (j=1;j<4;++j)
a[i][j]=c[i][j];
}
int main() {
int i,x,y,z,a,b,c;
long long j,sol,ans[4][4],m[4][4];
in=fopen(fin,"r"); out=fopen(fout,"w");
fscanf(in,"%i",&t);
for (i=1;i<=t;++i) {
fscanf(in,"%i%i%i",&x,&y,&z);
fscanf(in,"%i%i%i%i",&a,&b,&c,&n);
init(m,a,b,c);
if (n&1)
init(ans,a,b,c);
else
unit(ans);
for (j=2;j<=n;j=j<<1) {
mult(m,m);
if (n&j)
mult(ans,m);
}
//for (int ii=1;ii<4;++ii) {
// for (j=1;j<4;++j) printf("%i ",ans[ii][j]);
// printf("\n");
// }
sol=(ans[1][1]*x)%Mod;
sol=(sol+(ans[1][2]*y)%Mod)%Mod;
sol=(sol+(ans[1][3]*z)%Mod)%Mod;
fprintf(out,"%lld\n",sol);
}
fclose(in); fclose(out);
return 0;
}