#include <iostream>
#include <string>
#include <cstdio>
#include <cstring>
using namespace std;
#define LL long long
#define MOD 666013
#define KM 4
void prod (int A[KM][KM], int B[KM][KM], int C[KM][KM], int K)
{
for (int i = 1; i <= K; ++i)
for (int j = 1; j <= K; ++j) C[i][j] = 0;
for (int i = 1; i <= K; ++i)
for (int j = 1; j <= K; ++j)
for (int k = 1; k <= K; ++k)
C[i][j] = ((LL)C[i][j] + (LL)A[i][k]*B[k][j]) % MOD;
}
void power (int A[KM][KM], int N, int C[KM][KM], int K)
{
if (N == 0)
{
for (int i = 1; i <= K; ++i)
for (int j = 1; j <= K; ++j)
if (i != j) C[i][j] = 0;
else C[i][j] = 1;
return;
}
int half[KM][KM], P[KM][KM];
power (A, N/2, half, K);
if (N % 2)
{
prod (half, half, P, K);
prod (P, A, C, K);
return ;
}
else
{
prod (half, half, C, K);
return ;
}
}
int main()
{
freopen ("iepuri.in", "r", stdin);
freopen ("iepuri.out", "w", stdout);
int T;
scanf ("%d", &T);
int M[KM][KM];
memset (M, 0, sizeof(M));
M[2][1] = M[3][2] = 1;
while (T--)
{
int X, Y, Z, A, B, C, N;
scanf ("%d %d %d %d %d %d %d", &X, &Y, &Z, &A, &B, &C, &N);
M[1][3] = C;
M[2][3] = B;
M[3][3] = A;
int ans[KM][KM];
power (M, N, ans, 3);
/*
for (int i = 1; i <= 3; ++i)
{
for (int j = 1; j <= 3; ++j) printf ("%d ", ans[i][j]);
printf ("\n");
}
*/
int fans = ((LL)X*ans[1][1] + (LL)Y*ans[2][1] + (LL)Z*ans[3][1]) % MOD;
printf ("%d\n", fans);
}
return 0;
}