#include <stdio.h>
#define FIN "iepuri.in"
#define FOUT "iepuri.out"
#define nmax 4
#define FOR(i, a, b) for (i = (a); i <= (b); i++)
int a[33][nmax][nmax], i, j, n, A, B, C, x, y, z, t,
b[33], k, ct, rez[nmax][nmax], I[nmax][nmax], sol;
void inmultire_putere (int ct)
{
int i, j, k;
FOR (i, 1, 3)
FOR (j, 1, 3)
FOR (k, 1, 3)
a[ct][i][j] += (a[1][i][k] * a[ct-1][k][j]) % 666013;
}
void inmultire_mat (int put)
{
int i, j, k, val;
FOR (i, 1, 3)
FOR (j, 1, 3)
{
I[i][j] = 0;
FOR (k, 1, 3)
I[i][j] += (rez[i][k] * a[put][k][j]) % 666013;
}
FOR (i, 1, 3)
FOR (j, 1, 3)
rez[i][j] = I[i][j];
}
int
main ()
{
freopen (FIN, "rt", stdin);
freopen (FOUT, "wt", stdout);
scanf ("%d", &t);
while (t != 0)
{
FOR (k, 1, 32)
FOR (i, 1, 3)
FOR (j, 1, 3)
a[k][i][j] = 0;
FOR (i, 1, 3)
FOR (j, 1, 3)
rez[i][j] = I[i][j] = 0;
scanf ("%d%d%d%d%d%d%d\n", &x, &y, &z, &A, &B, &C, &n);
FOR (i, 1, 32)
b[i] = n>>(32-i)&1;
a[0][1][2] = a[0][2][3] = 1;
a[0][3][1] = C; a[0][3][2] = B; a[0][3][3] = A;
FOR (i, 1, 3)
FOR (j, 1, 3)
FOR (k, 1, 3)
a[1][i][j] += (a[0][i][k] * a[0][k][j]) % 666013;
FOR (ct, 2, 32)
inmultire_putere (ct);
rez[1][1] = rez[2][2] = rez[3][3] = 1;
FOR (i, 1, 32)
if (b[i] == 1)
inmultire_mat (32-i);
sol = (rez[1][1] * x + rez[1][2] * y + rez[1][3] * z) % 666013;
printf ("%d\n", sol);
t--;
}
return 0;
}