var kt1,kt2,i,n,j,m:byte;
t,k,st,st1:string;
a:array[0..5,0..100] of byte;
f1,f2:text;
const fi='SIT.INP';
fo='STT.OUT';
begin
assign(f1,fi);reset(f1);
assign(f2,fo);rewrite(f2);
readln(f1,n);
readln(f1,st1);
t:='';kt1:=0;
for i:=n downto 1 do
begin
st:=st1;
str(i,k);
kt2:=0;
for j:=1 to length(k) do
begin
if pos(k[j],st)<>0 then
delete(st,pos(k[j],st),1)
else
begin
inc(kt2);
t:=t+k[j];
kt1:=1;
end;
end;
if kt2=0 then st1:=st
else
begin
inc(m);
a[1,m]:=i;
a[2,m]:=kt2;
end;
end;
if kt1=0 then writeln(f2,'0')
else
for i:=m downto 1 do writeln(f2,a[1,i],' ',a[2,i]);
close(f1);close(f2);
end.