#include <iostream>
#include <fstream>
using namespace std;
#define modulo 666013
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)%modulo + (M[0][1]*y)%modulo + (M[0][2]*z)%modulo;
}
int main()
{
int t, x, y, z, a, b, c;
long long n;
long long M[3][3];
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;
init(a, b, c, M);
g << sol(M, n, x, y, z, a, b, c) << endl;
}
f.close();
g.close();
}