#include <bits/stdc++.h>
using namespace std;
ifstream f ("iepuri.in");
ofstream g ("iepuri.out");
constexpr int MOD = 666013;
int main()
{
int T = 1;
f >> T;
for (; T; -- T ) {
int A, B, C, X, Y, Z, N;
f >> X >> Y >> Z >> A >> B >> C >> N;
int n[3][3] = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}};
int a[3][3] = {{0, 0, C}, {1, 0, B}, {0, 1, A}};
while (N) {
if (N % 2 == 0) {
int aux[3][3] = {{0, 0, 0},
{0, 0, 0},
{0, 0, 0}};
for (int i = 0; i < 3; ++ i )
for (int j = 0; j < 3; ++ j )
for (int k = 0; k < 3; ++ k )
aux[i][j] = (aux[i][j] + (1LL * a[i][k] * a[k][j]) % MOD) % MOD;
for (int i = 0; i < 3; ++ i )
for (int j = 0; j < 3; ++ j )
a[i][j] = aux[i][j];
N /= 2;
}
else {
int aux[3][3] = {{0, 0, 0},
{0, 0, 0},
{0, 0, 0}};
for (int i = 0; i < 3; ++ i )
for (int j = 0; j < 3; ++ j )
for (int k = 0; k < 3; ++ k )
aux[i][j] = (aux[i][j] + (1LL * a[i][k] * n[k][j]) % MOD) % MOD;
for (int i = 0; i < 3; ++ i )
for (int j = 0; j < 3; ++ j )
n[i][j] = aux[i][j];
-- N;
}
}
int aux[1][3] = {X, Y, Z};
int ans[1][3] = {0, 0, 0};
for (int i = 0; i < 1; ++ i )
for (int j = 0; j < 3; ++ j )
for (int k = 0; k < 3; ++ k )
ans[i][j] = (ans[i][j] + (1LL * aux[i][k] * n[k][j]) % MOD) % MOD;
g << ans[0][0] << '\n';
}
return 0;
}