#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
using namespace std;
#define MOD 666013
int X, Y, Z, A, B, C, T, N;
long long m[3][3], aux[3][3], a[3][3], m2[3][1], final[3][1];
void Inm1(long long a[][3], long long b[][3], long long c[][3])
{
for(int i = 0; i < 3; i++)
for(int j = 0; j < 3; j++)
for(int k = 0; k < 3; k++)
c[i][j] = (c[i][j] + 1LL * a[i][k] * b[k][j]) % MOD;
}
void Inm2()
{
for(int i = 0; i < 3; i++)
for(int j = 0; j < 1; j++)
for(int k = 0; k < 3; k++)
final[i][j] = (final[i][j] + m[i][k] * m2[k][j]) % MOD;
}
void lgput(int pwr)
{
pwr --;
while(pwr)
{
if(pwr & 1)
{
memset(aux, 0, sizeof(aux));
Inm1(m, a, aux);
memcpy(m, aux, sizeof(aux));
pwr --;
}
memset(aux, 0, sizeof(aux));
Inm1(a, a, aux);
memcpy(a, aux, sizeof(aux));
pwr >>= 1;
}
}
int main()
{
freopen("iepuri.in", "r", stdin);
freopen("iepuri.out", "w", stdout);
int i;
scanf("%i", &T);
for(i = 1; i <= T; i++)
{
scanf("%i %i %i %i %i %i %i", &X, &Y, &Z, &A, &B, &C, &N);
memset(m, 0, sizeof(m));
memset(a, 0, sizeof(a));
memset(aux, 0, sizeof(aux));
memset(m2, 0, sizeof(m2));
memset(final, 0, sizeof(final));
m[0][1] = m[1][2] = a[0][1] = a[1][2] = 1;
m[2][0] = a[2][0] = C;
m[2][1] = a[2][1] = B;
m[2][2] = a[2][2] = A;
lgput(N);
m2[0][0] = X;
m2[1][0] = Y;
m2[2][0] = Z;
Inm2();
printf("%i\n", final[0][0]);
}
return 0;
}