#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<fstream>
#include<iostream>
using namespace std;
const int mod=666013;
/*
void copyMatrix(long long a[][3], long long b[][3]){
for(int r=0;r<3; r++)
for(int c=0;c<3; c++)
a[r][c]=b[r][c];
}
*/
long long matrixMultiplicationAux(long long a[][3], long long b[][3], int r, int c){
long long rez=0;
for(int i=0;i<3;i++)
rez+=(a[r][i]%mod*b[i][c]%mod)%mod;
return rez%mod;
}
void matrixMultiplication(long long a[][3], long long b[][3]){
long long rez[3][3];
memset(rez,0,9*sizeof(long long));
for(int r=0;r<3; r++)
for(int c=0;c<3; c++)
rez[r][c]=matrixMultiplicationAux(a,b, r,c);
memcpy(a,rez,9*sizeof(long long));
}
int main(){
//ifstream in; ofstream out;
//in.open("iepuri.in"); out.open("iepuri.out");
//out.clear();
FILE *in, *out;
in = fopen("iepuri.in", "r");
out = fopen("iepuri.out", "w");
int t,x,y,z,a,b,c;
long n;
//long long rez[3][3];
fscanf(in, "%d", &t);
//in>>t;
for(int i=1;i<=t;i++){
long long sol[3][3]={{1, 0 ,0}, {0, 1, 0}, {0, 0, 1}}; //initialize solution with identity matrix
long long ct[3][3]={{0, 1, 0}, {0, 0, 1}, {0, 0, 0}};
fscanf(in, "%d %d %d %d %d %d %ld", &x, &y, &z, &a, &b, &c, &n); //ct[0][0], ct[1][0], ct[2][0], &n);
ct[0][0]=a; ct[1][0]=b; ct[2][0]=c;
//in>>x>>y>>z>>ct[0][0]>>ct[1][0]>>ct[2][0]>>n;
for(int j=0; (1L<<j)<=(n-2);j++){
if(((1L<<j)&(n-2))>0) {
matrixMultiplication(sol,ct);
//copyMatrix(sol,rez);
}
matrixMultiplication(ct,ct);
//copyMatrix(ct,rez);
}
//if(n==0) fprintf(out, "%lld\n",x); // out<<x;
//else if (n==1) fprintf(out, "%lld\n",y); // out<<y;
//else if (n==2) fprintf(out, "%lld\n",z); // out<<z;
/*else*/ fprintf(out, "%lld\n",((z*(sol[0][0])%mod+(y*sol[1][0])%mod)%mod+(x*sol[2][0])%mod)%mod); // out<<((z*(sol[0][0])%mod+(y*sol[1][0])%mod)%mod+(x*sol[2][0])%mod)%mod;
//out<<endl;
}
//in.close(); out.close();
return 0;
}