const v:array[1..20]of integer=(1,5,2,8,3,9,2,8,7,7,8,4,7,3,8,4,1,5,4,4);
var t,ucif,r,i,j,k,p,sum,q,lung:longint;
n:integer;
sn:string[100];
f,g:text;
begin
assign(f,'cifra.in');
reset(f);
readln(f,t);
assign(g,'cifra.out');
rewrite(g);
{
for i:=1 to t do readln(f,n[i]);
for i:=1 to t do begin
sum:=0;
for j:=1 to n[i] do begin
ucif:=j mod 10;
r:=j mod 4;
if r=0 then r:=4;
p:=1;
for k:=1 to r do p:=p*ucif;
sum:=(sum+p) mod 10;
end;
writeln(g,sum);
end;
}
for i:=1 to t do begin
readln(f,sn);
lung:=length(sn);
if lung=1 then n:=ord(sn[1])-ord('0')
else n:=(ord(sn[lung-1])-ord('0'))*10+ord(sn[lung])-ord('0');
q:=n div 20;
sum:=(q*4) mod 10;
for j:=1 to n mod 20 do begin
ucif:=j mod 10;
r:=j mod 4;
if r=0 then r:=4;
p:=1;
for k:=1 to r do p:=p*ucif;
sum:=(sum+p) mod 10;
end;
{
sum:=(sum+v[n mod 20]) mod 10;
}
writeln(g,sum)
end;
{
sum:=0;
for j:=1 to 20 do begin
ucif:=j mod 10;
r:=j mod 4;
if r=0 then r:=4;
p:=1;
for k:=1 to r do p:=p*ucif;
sum:=(sum+p mod 10) mod 10;
write(g,' ',sum);
end;
}
close(f);
close(g);
end.