// (c) Mircea Dima
#include <cstdio>
#include <string>
#define LG 31
int a[LG][4][4];
int X, Y, Z, A, B, C, N;
void inmultire(int a[4][4], int a1[4][4], int a2[4][4])
{
int c[4][4], i, j, k;
memset(c, 0, sizeof(c));
int ok=0;
for(i=1;i<=3;++i)
for(j=1;j<=3;++j) if(a1[i][j]!=0) ok=1;
if(!ok)
{
for(i=1;i<=3;++i)
for(j=1;j<=3;++j) a[i][j]=a2[i][j];
return;
}
for(i=1;i<=3;++i)
for(j=1;j<=3;++j)
for(k=1;k<=3;++k)
c[i][j]+=a1[i][k]*a2[k][j];
/*
for(i=1;i<=3;++i)
{
for(j=1;j<=3;++j) printf("%d ", c[i][j]);
printf("\n");
}
printf("__\n");
*/
for(i=1;i<=3;++i)
for(j=1;j<=3;++j) a[i][j]=c[i][j];
}
void solve()
{
int i, cnt,stp;
int sol[4][4];
memset(sol, 0, sizeof(sol));
memset(a, 0, sizeof(a));
a[1][1][2]=1;
a[1][2][3]=1;
a[1][3][1]=C;
a[1][3][2]=B;
a[1][3][3]=A;
for(cnt=2, stp=2; cnt<=N ; cnt<<=1, ++stp)
inmultire(a[stp], a[stp-1], a[stp-1]);
for(cnt=1, stp=1; cnt<=N ; cnt<<=1, ++stp)
if(cnt&N){ inmultire(sol, sol, a[stp]);}
/*
for(int i=1;i<=3;++i)
{
for(int j=1;j<=3;++j)printf("%d ", sol[i][j]);
printf("\n");
}
printf("\n");
*/
int sum=0;
sum+=sol[1][1]*X;
sum+=sol[1][2]*Y;
sum+=sol[1][3]*Z;
printf("%d\n", sum);
}
void read()
{
int T;
freopen("iepuri.in","r",stdin);
scanf("%d", &T);
while(T--)
{
scanf("%d %d %d %d %d %d %d\n",&X, &Y, &Z, &A, &B, &C, &N);
solve();
}
}
int main()
{
freopen("iepuri.out","w",stdout);
read();
return 0;
}