#include <stdio.h>
typedef long long tipus;
tipus t,x,y,z,a,b,c,n,m=666013;
void masol(tipus a[4][4],tipus b[4][4]){
b[1][1]=a[1][1];
b[1][2]=a[1][2];
b[1][3]=a[1][3];
b[2][1]=a[2][1];
b[2][2]=a[2][2];
b[2][3]=a[2][3];
b[3][1]=a[3][1];
b[3][2]=a[3][2];
b[3][3]=a[3][3];
}
void szoroz(tipus c[4][4],tipus b[4][4]){
tipus b11=b[1][1],b12=b[1][2],b13=b[1][3],b21=b[2][1],b22=b[2][2],b23=b[2][3],b31=b[3][1],b32=b[3][2],b33=b[3][3];
tipus a[4][4];
masol(c,a);
b[1][1]=((a[1][1]*b11)%m+(a[1][2]*b21)%m+(a[1][3]*b31)%m)%m;
b[1][2]=((a[1][1]*b12)%m+(a[1][2]*b22)%m+(a[1][3]*b32)%m)%m;
b[1][3]=((a[1][1]*b13)%m+(a[1][2]*b23)%m+(a[1][3]*b33)%m)%m;
b[2][1]=((a[2][1]*b11)%m+(a[2][2]*b21)%m+(a[2][3]*b31)%m)%m;
b[2][2]=((a[2][1]*b12)%m+(a[2][2]*b22)%m+(a[2][3]*b32)%m)%m;
b[2][3]=((a[2][1]*b13)%m+(a[2][2]*b23)%m+(a[2][3]*b33)%m)%m;
b[3][1]=((a[3][1]*b11)%m+(a[3][2]*b21)%m+(a[3][3]*b31)%m)%m;
b[3][2]=((a[3][1]*b12)%m+(a[3][2]*b22)%m+(a[3][3]*b32)%m)%m;
b[3][3]=((a[3][1]*b13)%m+(a[3][2]*b23)%m+(a[3][3]*b33)%m)%m;
}
void hatvany(tipus a[4][4],tipus k){
if(k==1){
}else{
if(k%2==0){
szoroz(a,a);
hatvany(a,k/2);
}else{
tipus c[4][4];
masol(a,c);
szoroz(a,a);
hatvany(a,(k-1)/2);
szoroz(c,a);
}
}
}
int main(){
freopen("iepuri.in","r",stdin);
freopen("iepuri.out","w",stdout);
scanf("%lld",&t);
tipus aa[4][4],i,temp;
for(i=1;i<=t;i++){
scanf("%lld %lld %lld %lld %lld %lld %lld",&x,&y,&z,&a,&b,&c,&n);
aa[1][1]=0;aa[1][2]=0;aa[1][3]=c;
aa[2][1]=1;aa[2][2]=0;aa[2][3]=b;
aa[3][1]=0;aa[3][2]=1;aa[3][3]=a;
hatvany(aa,n-2);
temp=x*aa[1][3]+y*aa[2][3]+z*aa[3][3];
printf("%lld\n",temp);
}
return 0;
}