#include <fstream>
#define INF 666013
using namespace std;
ifstream f("iepuri.in");
ofstream g("iepuri.out");
long long n,A,B,C,X,Y,Z,T;
long long a[3][3];
void mult(long long s[][3],long long p[][3],long long q[][3]){
for(register int i=0;i<3;i++){
for(register int j=0;j<3;j++){
for(register int k=0;k<3;k++){
q[i][j]+=(s[i][k]*p[k][j])%INF,q[i][j]%=INF;
}
}
}
}
void copiere(long long s[][3],long long q[][3]){
for(register int i=0;i<3;i++){
for(register int j=0;j<3;j++){
s[i][j]=q[i][j];
}
}
}
void exp(long long b,long long a[][3]){
long long p[3][3]={{0,0,0},{0,0,0},{0,0,0}},s[3][3]={{1,0,0},{0,1,0},{0,0,1}},q[3][3]={{0,0,0},{0,0,0},{0,0,0}};
p[0][0]=a[0][0],p[0][1]=a[0][1],p[0][2]=a[0][2],p[1][0]=1,p[2][1]=1;
while(b>0){
if(b%2){
mult(s,p,q);
copiere(s,q);
}
mult(p,p,q);
copiere(p,q);
b/=2;
}
copiere(a,s);
}
int main(void){
register int i;
f>>T;
for(;T>0;T--){
f>>X>>Y>>Z>>A>>B>>C>>n;
a[0][0]=A,a[0][1]=B,a[0][2]=C,a[1][0]=1,a[2][1]=1,a[1][2]=0,a[1][1]=0,a[2][0]=0,a[2][2]=0;
exp(n-1,a);
g<<((X*a[0][2])%INF+(Y*a[0][1])%INF+(Z*a[0][0])%INF)%INF<<"\n";
}
return 0;
}