#include<stdio.h>
#include<string.h>
long long a[4][4];
long long A,B,C,x,y,z,n,t;
void inm(long long a[4][4],long long b[4][4])
{long long i,j,k;
long long c[4][4];
memset(c,0,sizeof(long long)*16);
for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
for(k=1;k<=3;k++)
c[i][j]=(c[i][j]+a[i][k]*b[k][j])%666013;
memcpy(b,c,sizeof(long long)*16);}
void put(long long a[4][4],long long n)
{if(n==1) return;
long long b[4][4];
memcpy(b,a,sizeof(long long)*16);
put(b,n/2);
inm(b,b);
if(n%2) inm(a,b);
memcpy(a,b,sizeof(long long)*16);}
long long rez(long long a[4][4],long long x,long long y,long long z)
{return a[1][1]*x+a[1][2]*y+a[1][3]*z;}
int main()
{freopen("iepuri.in","r",stdin);
freopen("iepuri.out","w",stdout);
scanf("%lld",&t);
a[1][2]=1;
a[2][3]=1;
for(;t;t--){
scanf("%lld %lld %lld %lld %lld %lld %lld",&x,&y,&z,&A,&B,&C,&n);
a[1][1]=0;a[1][2]=1;a[1][3]=0;
a[2][1]=0;a[2][2]=0;a[2][3]=1;
a[3][1]=C;a[3][2]=B;a[3][3]=A;
put(a,n);
printf("%lld\n",rez(a,x,y,z));
}
fclose(stdout);
return 0;}