#include <stdio.h>
#define MOD 666013
int rezmat[3][3], mat[3][3], mat0[3][3] = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}, mat1[3][3] = {{0, 0, 0}, {1, 0, 0}, {0, 1, 0}};
inline void prod(int m1[3][3], int m2[3][3]){
long long x;
int i, j, k, m3[3][3];
for(i = 0; i < 3; i++){
for(j = 0; j < 3; j++){
x = 0;
for(k = 0; k < 3; k++){
x += 1LL * m1[i][k] * m2[k][j];
}
m3[i][j] = x % MOD;
}
}
for(i = 0; i < 3; i++){
for(j = 0; j < 3; j++){
m1[i][j] = m3[i][j];
}
}
}
inline void ridp(int x){
while(x > 0){
if(x & 1)
prod(rezmat, mat);
prod(mat, mat);
x >>= 1;
}
}
int main(){
FILE *in = fopen("iepuri.in", "r");
FILE *out = fopen("iepuri.out", "w");
int t, i, j, k, x, y, z, a, b, c, n;
fscanf(in, "%d", &t);
for(i = 0; i < t; i++){
fscanf(in, "%d%d%d%d%d%d%d", &x, &y, &z, &a, &b, &c, &n);
for(j = 0; j < 3; j++){
for(k = 0; k < 3; k++){
rezmat[j][k] = mat0[j][k];
mat[j][k] = mat1[j][k];
}
}
mat[0][2] = a;
mat[1][2] = b;
mat[2][2] = c;
ridp(n - 2);
fprintf(out, "%lld\n", (1LL * x * rezmat[0][2] + 1LL * y * rezmat[1][2] + 1LL * z * rezmat[2][2]) % MOD);
}
fclose(in);
fclose(out);
return 0;
}