#include <cstdio>
#include <string.h>
const int modul = 666013;
int x, y, z, a, b, c, n;
long long p[4][4], pow[4][4], sol[4][4], temp[4][4];
void produs(const long long a[4][4], const long long b[4][4], long long c[4][4])
{
int i, j, k;
memset(c, 0, sizeof(c));
for (i=1; i<=3; ++i)
for (j=1; j<=3; ++j)
for (k=1; k<=3; ++k)
{
c[i][j] += a[i][k] * b[k][j];
c[i][j] = c[i][j] % modul;
}
}
void solve()
{
int i, j, k;
memset(p, 0, sizeof(p));
memset(sol, 0, sizeof(sol));
p[1][2] = p[2][3] = 1;
p[3][1] = c;
p[3][2] = b;
p[3][3] = a;
sol[1][1] = sol[2][2] = sol[3][3] = 1;
for (k=0; k<32; k++)
{
memset(temp, 0, sizeof(temp));
if ((n >> k) & 1)
{
produs(p, sol, temp);
memcpy(sol, temp, sizeof(temp));
}
memset(temp, 0, sizeof(temp));
produs(p, p, temp);
memcpy(p, temp, sizeof(p));
}
long long afis = (x*sol[1][1] + y*sol[1][2] + z*sol[1][3]) % modul;
printf("%lld\n", afis);
}
void citire()
{
int i, t;
scanf("%d\n", &t);
for (i=1; i<=t; ++i)
{
scanf("%d %d %d %d %d %d %d\n", &a, &b, &c, &x, &y, &z, &n);
solve();
}
}
int main()
{
freopen("iepuri.in", "r", stdin);
freopen("iepuri.out", "w", stdout);
citire();
return 0;
}