#include<cstdio>
#include<cstring>
using namespace std;
const int mod = 666013;
int x , y , z , a , b, c , n;
void init_matrix()
{
int i , j;
A[1][1] = a , A[1][2] = b , A[1][3] = c;
A[2][1] = 1 , A[2][2] = 0 , A[2][3] = 0;
A[3][1] = 0 , A[3][2] = 1 , A[3][3] = 0;
for( i = 1 ; i < = 3 ; ++i )
for( j = 1 ; j <= 3 ; ++j )
A2[i][j] = A[i][j];
}
void mult_matrix( int A[4][4] , int B[4][4] , int C[4][4]) {
memset(C,0,sizeof(C));
int i , j , k;
for( i = 1 ; i <= 3 ; ++i )
for( j = 1 ; j <= 3 ; ++j )
for( k = 1 ; k <= 3 ; ++k ) {
C[i][j] += (1LL * A[i][k] * B[k][j]) % mod;
C[i][j] %= mod;
}
for ( i = 1 ; i <= 3 ; ++i )
for( j = 1 ; j <= 3 ; ++j )
A[i][j] = C[i][j];
}
void pow_matrix( int A2[4][4], int n , int mod) {
while ( n ) {
if ( n & 1 ) mult(A2,A) , n -- ;
else mult(A2,A2) , n >>=1;
}
}
int solve()
{
ll int ans;
pow_matrix(A2,n,mod);
ans = ( 1LL * x * A[1][1] ) % mod + (1LL * y * A[1][2] ) % mod + (1LL * z * A[1][3] ) % mod;
return ans % mod;
}
int main()
{
freopen("iepuri.in","r",stdin):
freopen("iepuri.out","w",stdout);
scanf("%d",&t);
for( ; t-- ; ) {
scanf("%d %d %d %d %d %d %d",&x,&y,&z,&a,&b,&c,&n);
init_matrix();
printf("%d\n",solve());
}
return 0;
}