# include <stdio.h>
typedef long long int MATRICE[4][4];
const long int MODULO=666013;
MATRICE staple;
FILE *f=fopen("iepuri.in","r"),*g=fopen("iepuri.out","w");
void scrie (long long int sol) {fprintf(g,"%lld\n",sol);}
void copy_m (MATRICE &a, MATRICE &b)
{
int i,j;
for (i=0;i<=3;i++)
for (j=0;j<=3;j++)
a[i][j]=b[i][j];
}
void inmulteste(MATRICE a, MATRICE b,MATRICE &solu)
{
int i,j,linie,coloana;
MATRICE sol={0};
for (linie=1;linie<=3;linie++)
for (coloana=1;coloana<=3;coloana++)
for (i=1;i<=3;i++)
{
sol[linie][coloana]+=(a[linie][i]*b[i][coloana])%MODULO;
sol[linie][coloana]%=MODULO;
}
copy_m(solu,sol);
}
int putere(long int n,MATRICE &sol)
{
MATRICE aux;
if (n==1)
{
copy_m(sol,staple);
return 0;
}
putere(n/2,aux);
MATRICE aux2;
inmulteste(aux,aux,aux2);
if (n%2)
{
inmulteste(aux2,staple,aux);
copy_m(aux2,aux);
}
copy_m(sol,aux2);
return 0;
}
long long int calculeaza(long int x, long int y, long int z, long int a, long int b, long int c, long int n)
{
MATRICE m={0};
m[1][2]=1;
m[2][3]=1;
m[3][1]=c;
m[3][2]=b;
m[3][3]=a;
copy_m(staple,m);
putere(n-2,m);
long long int sol;
sol=0;
sol+=m[3][1]*x;
sol%=MODULO;
sol+=m[3][2]*y;
sol%=MODULO;
sol+=m[3][3]*z;
sol%=MODULO;
return sol;
}
void citire()
{
long int i,x,y,z,a,b,c,n,t;
fscanf(f,"%ld",&t);
long long int sol;
for (i=1;i<=t;i++)
{
fscanf(f,"%ld%ld%ld%ld%ld%ld%ld",&x,&y,&z,&a,&b,&c,&n);
sol=calculeaza(x,y,z,a,b,c,n);
scrie(sol);
}
fclose(f);
}
int main()
{
citire();
fcloseall();
return 0;
}