#include <stdio.h>
#define MOD 666013
int start[3][3], crt[3][3], rez[3][3], factor[3][3];
void multMat( int a[3][3], int b[3][3], int m, int n, int p ) {
int l, c, i;
for ( l = 0; l < m; l++ ) {
for ( c = 0; c < p; c++ )
rez[l][c] = 0;
}
for ( l = 0; l < m; l++ ) {
for ( c = 0; c < p; c++ ) {
for ( i = 0; i < n; i++ )
rez[l][c] = (rez[l][c] + ((long long)a[l][i] * b[i][c]) % MOD) % MOD;
}
}
}
void lgPut( int n ) {
int l, c;
if ( n == 1 ) {
for ( l = 0; l < 3; l++ ) {
for ( c = 0; c < 3; c++ )
crt[l][c] = factor[l][c];
}
} else {
lgPut( n / 2 );
multMat( crt, crt, 3, 3, 3 );
for ( l = 0; l < 3; l++ ) {
for ( c = 0; c < 3; c++ )
crt[l][c] = rez[l][c];
}
if ( n % 2 == 1 ) {
multMat( crt, factor, 3, 3, 3 );
for ( l = 0; l < 3; l++ ) {
for ( c = 0; c < 3; c++ )
crt[l][c] = rez[l][c];
}
}
}
}
int main() {
FILE *fin, *fout;
int t, n, x, y, z, a, b, c;
fin = fopen( "iepuri.in", "r" );
fscanf( fin, "%d", &t );
fout = fopen( "iepuri.out", "w" );
while ( t-- ) {
fscanf( fin, "%d%d%d%d%d%d%d", &x, &y, &z, &a, &b, &c, &n );
factor[0][2] = c;
factor[1][0] = 1;
factor[1][2] = b;
factor[2][1] = 1;
factor[2][2] = a;
lgPut( n );
start[0][0] = x;
start[0][1] = y;
start[0][2] = z;
multMat( start, crt, 3, 3, 3 );
fprintf( fout, "%d\n", rez[0][0] );
}
fclose( fin );
fclose( fout );
return 0;
}