#include<cstdio>
#include<cstring>
using namespace std;
const int mod=666013;
inline void inm(long long a[][3],long long b[][3])
{
long long rez[3][3];
memset(rez,0,9*sizeof(long long));
int i,j,k;
for(i=0;i<3;++i)
for(j=0;j<3;++j)
for(k=0;k<3;++k)
{
rez[i][j]+=(a[i][k]*b[k][j])%mod;
rez[i][j]%=mod;
}
memcpy(a,rez,9*(sizeof(long long)));
}
int main()
{
freopen("iepuri.in","r",stdin);
freopen("iepuri.out","w",stdout);
int n,x,y,z,t,a,b,c;
scanf("%d",&t);
while(t--)
{
scanf("%d%d%d%d%d%d%d",&x,&y,&z,&a,&b,&c,&n);
long long m[3][3]={{1,0,0},{0,1,0},{0,0,1}};
long long pow1[3][3]={{a,1,0},{b,0,1},{c,0,0}};
n-=2;
while(n)
{
if(n&1)
{
inm(m,pow1);
--n;
}
inm(pow1,pow1);
n>>=1;
}
long long sol=((m[0][0]*z)%mod + (m[1][0]*y)%mod + (m[2][0]*x)%mod)%mod;
printf("%lld\n",sol);
}
}