#include<cstdio>
#include<cstring>
using namespace std;
const int MOD = 666013;
int T,X,Y,Z,A,B,C,N,M[4][4],SOL[4][4],AUX[4][4],REZ,EXP;
long long i;
void Mult(int C[][4],int A[][4],int B[][4])
{
for(int i=1;i<=3;i++)
for(int j=1;j<=3;j++)
for(int k=1;k<=3;k++)
C[i][j]=(C[i][j]+1LL*A[i][k]*B[k][j])%MOD;
}
int main()
{
freopen("iepuri.in","r",stdin);
freopen("iepuri.out","w",stdout);
scanf("%d",&T);
for(;T;T--)
{
scanf("%d%d%d%d%d%d%d",&X,&Y,&Z,&A,&B,&C,&N);
memset(M,0,sizeof(M));M[1][3]=C; M[2][3]=B; M[3][3]=A; M[2][1]=M[3][2]=1;
memset(SOL,0,sizeof(SOL)); SOL[1][1]=SOL[2][2]=SOL[3][3]=1;
for(EXP=N-2,i=1;i<=EXP;i<<=1)
{
if(i&EXP)
{
memset(AUX,0,sizeof(AUX));
Mult(AUX,SOL,M);
memcpy(SOL,AUX,sizeof(AUX));
}
memset(AUX,0,sizeof(AUX));
Mult(AUX,M,M);
memcpy(M,AUX,sizeof(AUX));
}
REZ=((1LL*X*SOL[1][3])%MOD+(1LL*Y*SOL[2][3])%MOD+(1LL*Z*SOL[3][3])%MOD)%MOD;
printf("%d\n",REZ);
}
return 0;
}