#include <cstdio>
#include <cstring>
#define MOD 666013
using namespace std;
void matrixMultiplication(int a[3][3], int b[3][3]){
int c[3][3], i, j, k;
for (i=0; i<3; i++)
for (j=0; j<3; j++){
c[i][j]=0;
for (k=0; k<3; k++)
c[i][j]=(c[i][j]+(1LL*a[i][k]*b[k][j])%MOD)%MOD;
}
memcpy(a, c, sizeof(c));
}
int I[3][3];
void lgput(int k){
int ans[3][3]={{1, 0, 0}, {0, 1, 0}, {0, 0, 1}};
while (k){
if (k%2==1)
matrixMultiplication(ans, I);
matrixMultiplication(I, I);
k=k/2;
}
memcpy(I, ans, sizeof(ans));
}
void solve(int X, int Y, int Z, int A, int B, int C, int N){
I[0][0]=A; I[0][1]=1; I[0][2]=0;
I[1][0]=B; I[1][1]=0; I[1][2]=1;
I[2][0]=C; I[2][1]=0; I[2][2]=0;
lgput(N-2);
int m[3][3]={{Z, Y, X}, {0, 0, 0}, {0, 0, 0}};
matrixMultiplication(m, I);
printf("%d\n", m[0][0]);
}
int main(){
freopen("iepuri.in", "r", stdin);
freopen("iepuri.out", "w", stdout);
int T, X, Y, Z, A, B, C, N;
scanf("%d", &T);
while (T--){
scanf("%d%d%d%d%d%d%d", &X, &Y, &Z, &A, &B, &C, &N);
solve(X, Y, Z, A, B, C, N);
}
return 0;
}