#include <stdio.h>
#include <string.h>
#define MOD 666013
void matrix_mult(int (*A)[3], int (*B)[3])
{
int i, j, k;
int aux[3][3];
memset(aux, 0, sizeof(aux));
for (i=0; i<3; ++i)
for (j=0; j<3; ++j)
for (k=0; k<3; ++k)
aux[i][j] += (1ll*A[i][k]*B[k][j])%MOD;
memcpy(A, aux, sizeof(aux));
}
int main()
{
freopen("iepuri.in", "r", stdin);
freopen("iepuri.out", "w", stdout);
int t, i;
int 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);
n -= 2;
int T[3][3] = {{0, 1, 0}, {0, 0, 1}, {c, b, a}};
int res[3][3] = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}};
for (i=0; (1<<i)<=n; ++i) {
if ((1<<i) & n)
matrix_mult(res, T);
matrix_mult(T, T);
}
long long result = (1ll*res[2][0]*x%MOD + 1ll*res[2][1]*y%MOD + 1ll*res[2][2]*z%MOD)%MOD;
printf("%lld\n", result);
}
return 0;
}