#include <stdio.h>
#define MOD 666013
FILE *fin, *fout;
int t, x, y, z, a, b, c, n, rasp;
struct mat
{
int v[3][3];
} r, w, null;
mat inmultire(mat a1, mat a2)
{
mat ans;
ans.v[0][0] = (a1.v[0][0]*a2.v[0][0])%MOD + (a1.v[0][1]*a2.v[1][0])%MOD + (a1.v[0][2]*a2.v[2][0])%MOD;
ans.v[0][1] = (a1.v[0][0]*a2.v[0][1])%MOD + (a1.v[0][1]*a2.v[1][1])%MOD + (a1.v[0][2]*a2.v[2][1])%MOD;
ans.v[0][2] = (a1.v[0][0]*a2.v[0][2])%MOD + (a1.v[0][1]*a2.v[1][2])%MOD + (a1.v[0][2]*a2.v[2][2])%MOD;
ans.v[1][0] = (a1.v[1][0]*a2.v[0][0])%MOD + (a1.v[1][1]*a2.v[1][0])%MOD + (a1.v[1][2]*a2.v[2][0])%MOD;
ans.v[1][1] = (a1.v[1][0]*a2.v[0][1])%MOD + (a1.v[1][1]*a2.v[1][1])%MOD + (a1.v[1][2]*a2.v[2][1])%MOD;
ans.v[1][2] = (a1.v[1][0]*a2.v[0][2])%MOD + (a1.v[1][1]*a2.v[1][2])%MOD + (a1.v[1][2]*a2.v[2][2])%MOD;
ans.v[2][0] = (a1.v[2][0]*a2.v[0][0])%MOD + (a1.v[2][1]*a2.v[1][0])%MOD + (a1.v[2][2]*a2.v[2][0])%MOD;
ans.v[2][1] = (a1.v[2][0]*a2.v[0][1])%MOD + (a1.v[2][1]*a2.v[1][1])%MOD + (a1.v[2][2]*a2.v[2][1])%MOD;
ans.v[2][2] = (a1.v[2][0]*a2.v[0][2])%MOD + (a1.v[2][1]*a2.v[1][2])%MOD + (a1.v[2][2]*a2.v[2][2])%MOD;
for(int i = 0; i< 3; i++)
{
for(int j = 0; j< 3; j++)
{
ans.v[i][j]%=MOD;
}
}
return ans;
}
mat power(mat a1, int a2)
{
if(a2 == 0) return null;
if(a2 == 1) return a1;
mat temp = power(a1, a2/2);
return inmultire(inmultire(temp, temp), power(a1, a2%2));
}
int main()
{
fin =freopen("iepuri.in", "r", stdin);
fout = freopen("iepuri.out", "w", stdout);
scanf("%d", &t);
null.v[0][0] = 1;
null.v[0][1] = 0;
null.v[0][2] = 0;
null.v[1][0] = 0;
null.v[1][1] = 1;
null.v[1][2] = 0;
null.v[2][0] = 0;
null.v[2][1] = 0;
null.v[2][2] = 1;
for(int i = 0; i< t; i++)
{
scanf("%d %d %d %d %d %d %d", &x, &y, &z, &a, &b, &c, &n);
r.v[0][0] = 0;
r.v[0][1] = 0;
r.v[0][2] = c;
r.v[1][0] = 1;
r.v[1][1] = 0;
r.v[1][2] = b;
r.v[2][0] = 0;
r.v[2][1] = 1;
r.v[2][2] = a;
w = power(r, n-2);
rasp = x*w.v[0][2] + y*w.v[1][2] + z*w.v[2][2];
/*for(int j= 0; j< 3; j++)
{
for(int k = 0; k< 3; k++)
{
printf("%d ", w.v[j][k]);
}
printf("\n");
}*/
printf("%d\n", rasp%MOD);
}
fclose(fin);
fclose(fout);
return 0;
}