#include <cstdio>
using namespace std;
const int MOD = 666013;
inline void mul (int a[3][3], int b[3][3]) {
int r[3][3] = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}}, i, j, k;
for (i = 0; i < 3; ++i)
for (j = 0; j < 3; ++j)
for (k = 0; k < 3; ++k)
r[i][j] += 1LL * a[i][k] * b[k][j] % MOD;
for (i = 0; i < 3; ++i)
for (j = 0; j < 3; ++j)
a[i][j] = r[i][j];
}
int main () {
freopen ("iepuri.in", "r", stdin);
freopen ("iepuri.out", "w", stdout);
int T, X, Y, Z, A, B, C, N, m[3][3], s[3][3], i, j;
scanf ("%d", &T);
while (T--) {
scanf ("%d%d%d%d%d%d%d", &X, &Y, &Z, &A, &B, &C, &N);
m[0][2] = C;
m[1][2] = B;
m[2][2] = A;
m[0][0] = m[0][1] = m[1][1] = m[2][0] = 0;
m[1][0] = m[2][1] = 1;
N -= 2;
for (i = 0; i < 3; ++i)
for (j = 0; j < 3; ++j)
if (i == j)
s[i][j] = 1;
else
s[i][j] = 0;
for (; N; N >>= 1) {
if (N & 1)
mul (s, m);
mul (m, m);
}
printf ("%d\n", X * s[0][2] + Y * s[1][2] + Z * s[2][2]);
}
}