var
n,i,x,j:integer;
a:array[1..10] of longint;
s:array[0..1000] of integer;
procedure print;
begin
for i:=1 to s[0] do
begin
write(chr(s[i]));
if i<>s[0] then write( );
end;
if x<>n then writeln;
end;
procedure try(k:longint);
begin
if k mod 2=1 then
begin
k:=(k-1) div 2;
s[0]:=s[0]+1;
if 65+j<=90 then s[s[0]]:=65+j
else
begin
write(None);
if x<>n then writeln;
exit;
end;
if k=0 then print
else
begin
j:=j+1;
try(k);
end;
end
else
begin
j:=j+1;
try(k div 2);
end;
end;
begin
readln(n);
for i:=1 to n do
readln(a[i]);
while x<n do
begin
j:=0;
x:=x+1;
fillchar(s,sizeof(s),0);
if a[x]<=0 then
begin
write(None);
if x<>n then writeln;
end
else try(a[x]);
end;
end.