program iepi;
type matt = array [1..4,1..4] of longint;
var M,Ap : matt;
X,Y,Z,A,B,C,N,i,j,k,l,r,S : longint;
f,g : text;
begin
assign(f,'iepuri.in');
reset(f);
assign(g,'iepuri.out');
rewrite(g);
readln(f,k);
l := 0;
while l<>k do begin
inc(l);
readln(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;
r := 0;
while r<>N do begin
inc(r);
for i := 1 to 3 do
for j := 1 to 3 do begin
S := 0;
for k := 1 to 3 do
S := S + M[i,k]*M[k,i];
Ap[i,j] := S;
end;
M := Ap;
end;
S := 0;
S := S + M[1,1]*X+M[1,2]*Y+M[1,3]*Z;
writeln(g,S/666013);
end;
close(f);
close(g);
end.