#include <bits/stdc++.h>
using namespace std;
ifstream fin("iepuri.in");
ofstream fout("iepuri.out");
const int MOD = 666013;
struct Mat {
long long v[3][3] = {};
};
Mat inmultire(Mat a, Mat b) {
Mat r;
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
for (int k = 0; k < 3; k++)
r.v[i][j] = (r.v[i][j] +
a.v[i][k] * b.v[k][j]) % MOD;
return r;
}
Mat putere(Mat a, long long p) {
Mat r;
for (int i = 0; i < 3; i++)
r.v[i][i] = 1;
while (p > 0) {
if (p % 2 == 1)
r = inmultire(r, a);
a = inmultire(a, a);
p /= 2;
}
return r;
}
int main() {
int t;
fin >> t;
while (t--) {
long long x, y, z, A, B, C, N;
fin >> x >> y >> z >> A >> B >> C >> N;
Mat M;
M.v[0][0] = A;
M.v[0][1] = B;
M.v[0][2] = C;
M.v[1][0] = 1;
M.v[2][1] = 1;
Mat P = putere(M, N - 2);
long long ans = (
P.v[0][0] * z +
P.v[0][1] * y +
P.v[0][2] * x
) % MOD;
fout << ans << '\n';
}
return 0;
}