#include<cstdio>
using namespace std;
#define Mod 666013
int q,a,b,c,x,y,z,n,s;
int P[5][5],sol[5][5],aux[5][5],
M[5][5]={
{0,0,0,0},
{0,0,0,0},
{0,1,0,0},
{0,0,1,0}
},
I[5][5]={
{0,0,0,0},
{0,1,0,0},
{0,0,1,0},
{0,0,0,1}
};
void multiply(int A[5][5], int B[5][5], int C[5][5])
{
int i,j,k;
for (i=1;i<=3;++i)
for (j=1;j<=3;++j)
{
C[i][j]=0;
for (k=1;k<=3;++k)
C[i][j]+=((A[i][k]%Mod)*(B[k][j]%Mod))%Mod, C[i][j]%=Mod;
}
}
void mcopy(int A[5][5], int B[5][5])
{
int i,j;
for (i=1;i<=3;++i)
for (j=1;j<=3;++j)
A[i][j]=B[i][j];
}
int main()
{
int i;
freopen("iepuri.in","r",stdin);
freopen("iepuri.out","w",stdout);
scanf("%d",&q);
for (i=0;i<q;++i)
{
scanf("%d%d%d %d%d%d %d",&x,&y,&z,&a,&b,&c,&n);
M[1][1]=a, M[1][2]=b, M[1][3]=c, n-=2, s=0;
mcopy(sol,I); mcopy(P,M);
while (n)
{
if (n%2)
{
multiply(sol,P,aux);
mcopy(sol,aux);
}
multiply(P,P,aux);
mcopy(P,aux);
n>>=1;
}
s+=z*sol[1][1], s%=Mod;
s+=y*sol[1][2], s%=Mod;
s+=x*sol[1][3], s%=Mod;
printf("%d\n",s%Mod);
}
return 0;
}