#include <iostream>
#include <fstream>
using namespace std;
#define modulo 666013
struct data {
int x, y, z, a, b, c;
long long n;
};
void init(int a, int b, int c, long long M[3][3]) {
M[0][0] = 0;
M[0][1] = 1;
M[0][2] = 0;
M[1][0] = 0;
M[1][1] = 0;
M[1][2] = 1;
M[2][0] = c;
M[2][1] = b;
M[2][2] = a;
}
void multiply(long long M[3][3], long long S[3][3]) {
long long x1, x2, x3, x4, x5, x6, x7, x8, x9;
x1 = (M[0][0]*S[0][0])%modulo + (M[0][1]*S[1][0])%modulo + (M[0][2]*S[2][0])%modulo;
x2 = (M[0][0]*S[0][1])%modulo + (M[0][1]*S[1][1])%modulo + (M[0][2]*S[2][1])%modulo;
x3 = (M[0][0]*S[0][2])%modulo + (M[0][1]*S[1][2])%modulo + (M[0][2]*S[2][2])%modulo;
x4 = (M[1][0]*S[0][0])%modulo + (M[1][1]*S[1][0])%modulo + (M[1][2]*S[2][0])%modulo;
x5 = (M[1][0]*S[0][1])%modulo + (M[1][1]*S[1][1])%modulo + (M[1][2]*S[2][1])%modulo;
x6 = (M[1][0]*S[0][2])%modulo + (M[1][1]*S[1][2])%modulo + (M[1][2]*S[2][2])%modulo;
x7 = (M[2][0]*S[0][0])%modulo + (M[2][1]*S[1][0])%modulo + (M[2][2]*S[2][0])%modulo;
x8 = (M[2][0]*S[0][1])%modulo + (M[2][1]*S[1][1])%modulo + (M[2][2]*S[2][1])%modulo;
x9 = (M[2][0]*S[0][2])%modulo + (M[2][1]*S[1][2])%modulo + (M[2][2]*S[2][2])%modulo;
M[0][0] = x1;
M[0][1] = x2;
M[0][2] = x3;
M[1][0] = x4;
M[1][1] = x5;
M[1][2] = x6;
M[2][0] = x7;
M[2][1] = x8;
M[2][2] = x9;
}
void powM(long long M[3][3], long long n, int a, int b, int c) {
if (n==0 || n==1) {
return;
}
powM(M, n/2, a, b, c);
multiply(M, M);
if (n%2 != 0) {
long long S[3][3];
init(a, b, c, S);
multiply(M, S);
}
}
long long sol(long long M[3][3], long long n, int x, int y, int z, int a, int b, int c) {
powM(M, n, a, b, c);
return ((M[0][0]*x) + (M[0][1]*y) + (M[0][2]*z))%modulo;
}
int main()
{
int t;
long long M[3][3];
data d[100];
ifstream f("iepuri.in");
ofstream g("iepuri.out");
f >> t;
for(int i = 0; i < t; i++) {
//f >> x >> y >> z >> a >> b >> c >> n;
f >> d[i].x >> d[i].y >> d[i].z >> d[i].a >> d[i].b >> d[i].c >> d[i].n;
//init(a, b, c, M);
//g << sol(M, n, x, y, z, a, b, c) << "\n";
}
for(int i = 0; i < t; i++) {
init(d[i].a, d[i].b,d[i].c, M);
g << sol(M, d[i].n, d[i].x ,d[i].y ,d[i].z , d[i].a, d[i].b ,d[i].c) << "\n";
}
}