#include <stdio.h>
#include <iostream>
typedef long long matr[ 4 ][ 4 ];
int X, Y, Z, A, B, C;
int T, N;
const int MOD = 666013;
void inmMat( matr &dest, matr A, matr B, int N ) {
matr aux; memset( aux, 0, sizeof( aux ) );
for ( int k = 1; k <= N; k++ )
for ( int i = 1; i <= N; i++ )
for ( int j = 1; j <= N; j++ )
aux[ i ][ j ] = ( aux[ i ][ j ] + A[ i ][ k ]*B[ k ][ j ] ) % MOD;
memcpy( dest, aux, sizeof( aux ) );
}
matr S, D;
long long Sol;
int main()
{
#ifndef PC_RUN
freopen("iepuri.in","r",stdin);
freopen("iepuri.out","w",stdout);
#else
freopen("data.in","r",stdin);
freopen("data.out","w",stdout);
#endif
for ( scanf("%d\n", &T); T; --T ) {
scanf("%d %d %d %d %d %d %d\n", &X, &Y, &Z, &A, &B, &C, &N );
memset( D, 0, sizeof( D ) );
memset( S, 0, sizeof( S ) );
D[ 2 ][ 1 ] = 1;
D[ 3 ][ 2 ] = 1;
D[ 1 ][ 3 ] = C;
D[ 2 ][ 3 ] = B;
D[ 3 ][ 3 ] = A;
N -= 2;
S[ 1 ][ 1 ] = 1; S[ 2 ][ 2 ] = 1; S[ 3 ][ 3 ] = 1;
for ( int i = 0; i <= 31; i++ ) {
if ( N&(1<<i) ) { inmMat( S, S, D, 3 ); }
inmMat( D, D, D, 3 );
}
Sol = X * S[ 1 ][ 3 ] + Y * S[ 2 ][ 3 ] + Z * S[ 3 ][ 3 ];
printf("%lld\n", Sol );
}
return 0;
}