const uc:array[1..9,0..3]of
byte=((1,0,0,0),(6,2,4,8),(1,3,9,7),(6,4,0,0),(5,0,0,0),
(6,0,0,0),(1,7,9,3),(6,8,4,2),(1,9,0,0));
muc:array[1..9]of byte=(1,4,4,2,1,1,4,4,2);
var f,g:text;
i,t:longint;
s,s2:string;
cod,nr,j:integer;
cifra:byte;
begin
assign(f,'cifra.in');
assign(g,'cifra.out');
reset(f);
rewrite(g);
readln(f,t);
for i:=1 to t do
begin
readln(f,s);
s2:=s[length(s)];
if length(s)>1 then
s2:=s[length(s)-1]+s2;
val(s2,nr,cod);cifra:=0;
for j:=1 to nr do
begin
inc(cifra,uc[j mod 10,j mod muc[j mod 10]]);
cifra:=cifra mod 10;
end;
writeln(g,cifra);
end;
close(g);
close(f);
end.