#include <fstream>
#include <vector>
#define int long long
using namespace std;
ifstream cin("iepuri.in");
ofstream cout("iepuri.out");
const int MOD = 666013;
struct mat3x3 {
int a11, a12, a13, a21, a22, a23, a31, a32, a33;
};
mat3x3 inmultire(mat3x3 a, mat3x3 b)
{
mat3x3 c;
c.a11 = (a.a11 * b.a11 + a.a12 * b.a21 + a.a13 * b.a31) % MOD;
c.a21 = (a.a21 * b.a11 + a.a22 * b.a21 + a.a23 * b.a31) % MOD;
c.a31 = (a.a31 * b.a11 + a.a32 * b.a21 + a.a33 * b.a31) % MOD;
c.a12 = (a.a11 * b.a12 + a.a12 * b.a22 + a.a13 * b.a32) % MOD;
c.a22 = (a.a21 * b.a12 + a.a22 * b.a22 + a.a23 * b.a32) % MOD;
c.a32 = (a.a31 * b.a12 + a.a32 * b.a22 + a.a33 * b.a32) % MOD;
c.a13 = (a.a11 * b.a13 + a.a12 * b.a23 + a.a13 * b.a33) % MOD;
c.a23 = (a.a21 * b.a13 + a.a22 * b.a23 + a.a23 * b.a33) % MOD;
c.a33 = (a.a31 * b.a13 + a.a32 * b.a23 + a.a23 * b.a33) % MOD;
return c;
}
mat3x3 exp(mat3x3 a, int p)
{
if(p == 0) return {1, 0, 0, 0, 1, 0, 0, 0, 1};
if(p % 2) return inmultire(a, exp(a, p - 1));
mat3x3 aux = exp(a, p / 2);
return inmultire(aux, aux);
}
int x, y, z, a, b, c, n;
signed main()
{
int t; cin >> t;
while(t--) {
int x, y, z, a, b, c, n;
cin >> x >> y >> z >> a >> b >> c >> n;
mat3x3 aux = {0, 1, 0, 0, 0, 1, c, b, a};
mat3x3 m = exp(aux, n);
cout << ((m.a11 * x) % MOD + (m.a12 * y) % MOD + (m.a13 * z) % MOD) % MOD << '\n';
}
return 0;
}