const a:array[0..9,0..3] of byte=((0,0,0,0),(1,1,1,1),(6,2,4,8),(1,3,9,7),(6,4,6,4),
(5,5,5,5),(6,6,6,6),(1,7,9,3),(6,8,4,2),(1,9,1,9));
var s:string;
f,g:text;
function ucif(k:integer):integer;
var s,i:integer;
begin
s:=0;
for i:=1 to k do
begin
inc(s,a[i mod 10,i mod 4]);
end;
ucif:=s mod 10;
end;
procedure rezolva;
var p,i,j,nr,c,n,t:integer;
s1:string;
begin
assign(f,'cifra.in');
reset(f);
assign(g,'cifra.out');
rewrite(g);
readln(f,t);
for i:=1 to t do
begin
readln(f,s);
p:=length(s)-1;
if p<1 then p:=1;
s1:=copy(s,p,2);
val(s1,n,c);
writeln(g,ucif(n));
end;
close(f);
close(g);
end;
begin
rezolva;
end.