#include <fstream>
#define MOD 666013
#define LL long long
using namespace std;
ifstream fin("iepuri.in");
ofstream fout("iepuri.out");
int T, i, N;
LL A, B, C, X, Y, Z;
LL sol[4][4], exp[4][4];;
LL ans;
void initializare()
{
sol[1][1]=exp[1][1]=A;
sol[2][1]=exp[2][1]=B;
sol[3][1]=exp[3][1]=C;
sol[1][2]=sol[2][3]=exp[1][2]=exp[2][3]=1;
sol[1][3]=sol[2][2]=sol[3][2]=sol[3][3]=exp[1][3]=exp[2][2]=exp[3][2]=exp[3][3]=0;
}
void Multiply_Matrix()
{
LL mat[4][4];
int i, j, k;
for (i=1; i<=3; i++)
{
for (j=1; j<=3; j++)
{
mat[i][j]=0;
for (k=1; k<=3; k++)
{
mat[i][j]+=(sol[i][k]*exp[k][j]) % MOD;
mat[i][j]%=MOD;
}
}
}
for (i=1; i<=3; i++)
for (j=1; j<=3; j++)
sol[i][j]=mat[i][j];
}
void Multiply_Square()
{
LL mat[4][4];
int i, j, k;
for (i=1; i<=3; i++)
{
for (j=1; j<=3; j++)
{
mat[i][j]=0;
for (k=1; k<=3; k++)
{
mat[i][j]+=(exp[i][k]*exp[k][j]) % MOD;
mat[i][j]%=MOD;
}
}
}
for (i=1; i<=3; i++)
for (j=1; j<=3; j++)
exp[i][j]=mat[i][j];
}
void LogPow(int N)
{
while (N!=0)
{
if (N % 2==1)
{
Multiply_Matrix();
N--;
}
Multiply_Square();
N/=2;
}
}
int main()
{
fin >> T;
for (i=1; i<=T; i++)
{
fin >> X >> Y >> Z >> A >> B >> C >> N;
initializare();
LogPow(N-3);
ans=(Z*sol[1][1]) % MOD;
ans+=(Y*sol[2][1]) % MOD;
ans+=(X*sol[3][1]) % MOD;
ans%=MOD;
fout << ans << '\n';
}
fin.close();
fout.close();
return 0;
}