#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
ifstream f("iepuri.in");
ofstream g("iepuri.out");
long long M[5][5];
void mult(long long A[][5],long long B[][5],long long C[][5])
{
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] = (C[i][j] + 1LL * A[i][k] * B[k][j]);
}
int main()
{
long long T,i,x,y,z,a,b,c,N,p,j;
long long SOL[5][5],C[5][5],AUX[5][5];
f>>T;
for (i=1;i<=T;i++)
{
memset(C,0,sizeof(C));
f>>x>>y>>z>>a>>b>>c>>N;
M[1][1]=0;M[1][2]=1;M[1][3]=0;
M[2][1]=0;M[2][2]=0;M[2][3]=1;
M[3][1]=c;M[3][2]=b;M[3][3]=a;
SOL[1][1]=1;SOL[1][2]=0;SOL[1][3]=0;
SOL[2][1]=0;SOL[2][2]=1;SOL[2][3]=0;
SOL[3][1]=0;SOL[3][2]=0;SOL[3][3]=1;
memcpy(C,M,sizeof(M));
p=N;
for (j=0;(1<<j)<=p;j++)
{
if (p&(1<<j))
{
memset(AUX, 0, sizeof(AUX));
mult(SOL,C,AUX);
memcpy(SOL,AUX,sizeof(AUX));
}
memset(AUX, 0, sizeof(AUX));
mult(C,C,AUX);
memcpy(C, AUX, sizeof(C));
}
g<<SOL[1][1]*x+SOL[1][2]*y+SOL[1][3]*z<<'\n';
}
return 0;
}