#include <stdio.h>
int a[4][4], kkt[4][4], rez[4][4];
void mul(int a[4][4], int b[4][4])
{
int i, j, k, c[4][4];
for (i = 1; i <= 3; i ++) {
for (j = 1; j <= 3; j ++) c[i][j] = 0;
for (j = 1; j <= 3; j ++) {
for (k = 1; k <= 3; k ++) {
c[i][k] += a[i][j] * b[j][k];
}
}
}
for (i = 1; i <= 3; i ++) {
for (j = 1; j <= 3; j ++) a[i][j] = c[i][j];
}
}
void putere(int N)
{
for (; N; N >>= 1) {
if (N & 1) mul(rez, kkt);
mul(kkt, kkt);
}
}
int main()
{
freopen("iepuri.in", "r", stdin);
#ifndef _SCREEN_
freopen("iepuri.out", "w", stdout);
#endif
int T, X, Y, Z, A, B, C, N, i, j;
for (scanf("%d\n", &T); T; T --) {
scanf("%d %d %d %d %d %d %d\n", &X, &Y, &Z, &A, &B, &C, &N);
a[1][1] = 0, a[1][2] = 0, a[1][3] = C;
a[2][1] = 1, a[2][2] = 0, a[2][3] = B;
a[3][1] = 0, a[3][2] = 1, a[3][3] = A;
rez[1][1] = 1, rez[1][2] = 0, rez[1][3] = 0;
rez[2][1] = 0, rez[2][2] = 1, rez[2][3] = 0;
rez[3][1] = 0, rez[3][2] = 0, rez[3][3] = 1;
for (i = 1; i <= 3; i ++) {
for (j = 1; j <= 3; j ++) {
kkt[i][j] = a[i][j];
}
}
putere(N - 2);
printf("%lld\n", ((long long) X * rez[1][3]) % 666013 + ((long long) Y * rez[2][3] % 666013) + ((long long) Z * rez[3][3]) % 666013);
}
return 0;
}