//infoarena iepuri
type mat = array[1..3,1..3] of longint;
var m:mat;
x,y,z,a,b,c,n:longint;
procedure inmultire(var rez:mat; a,b:mat);
var i,j,k:integer;
begin
for i:=1 to 3 do
for j:=1 to 3 do
begin
rez[i,j]:=0;
for k:=1 to 3 do
rez[i,j]:=rez[i,j]+a[i,k]*b[k,j];
end;
end;
function mlan(n:longint):mat;
var aux,n1:mat;
begin
if n = 1 then begin mlan:=m; exit; end;
if n mod 2 = 0 then
begin
n1:=mlan(n div 2);
inmultire(aux,n1,n1);
mlan:=aux;
end
else
begin
n1:=mlan(n-1);
inmultire(aux,n1,m);
mlan:=aux;
end;
end;
procedure calc;
var mn:mat;
rez:longint;
begin
mn:=mlan(n);
rez:=mn[1,1]*x+mn[1,2]*y+mn[1,3]*z;
writeln(rez);
end;
procedure citire;
var i,t:integer;
begin
assign(input,'iepuri.in'); reset(input);
assign(output,'iepuri.out'); rewrite(output);
readln(t);
for i:=1 to t do
begin
readln(x,y,z,a,b,c,n);
fillchar(m,sizeof(m),0);
m[1,2]:=1; m[2,3]:=1; m[3,1]:=c; m[3,2]:=b; m[3,3]:=a;
calc;
end;
close(input); close(output);
end;
begin
citire;
end.