#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<fstream>
#include<iostream>
using namespace std;
const int mod=666013;
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++)
for(int i=0;i<3;i++)
rez[r][c]=(rez[r][c]%mod+((a[r][i]%mod)*(b[i][c]%mod))%mod)%mod;
memcpy(a,rez,9*sizeof(long long));
}
int main(){
FILE *in, *out;
in = fopen("iepuri.in", "r");
out = fopen("iepuri.out", "w");
int t,x,y,z,a,b,c;
long n;
fscanf(in, "%d", &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]=a; ct[1][0]=b; ct[2][0]=c;
n=n-2;
while(n){
if(n%2){
n--;
matrixMultiplication(sol,ct);
}
n=n/2;
matrixMultiplication(ct,ct);
}
/*
for(int j=0; (1LL<<j)<=(n-2);j++){
if(((1L<<j)&(n-2))>0) {
matrixMultiplication(sol,ct);
}
matrixMultiplication(ct,ct);
}
*/
fprintf(out, "%lld\n",((z*(sol[0][0])%mod+(y*sol[1][0])%mod)%mod+(x*sol[2][0])%mod)%mod);
}
return 0;
}