program z735;
const q=100;
Type MyArray=Array[1..q] of integer;
var n,m:integer;p:myarray;
Procedure Calc(n:integer;var x:myarray);
var i,j,t:integer;
Begin
FillChar(x,SizeOf(x),0);
for i:=1 to n do x[i]:=1;
for i:=4 to n do begin
t:=i;
j:=2;
while (j<=(t div 2)) do
if t mod j=0 then begin
inc(x[j]);
t:=t div j;
if t=j then inc(x[j]);
end
else inc(j);
if t<>i then begin
x[i]:=0;
if (t<>j) then inc(x[t]);
end;end;
end;
Procedure Solve(sn,sm:integer;var sp:myarray);
var i:integer;
sni,smi,snmi:myarray;
begin
calc(sn,sni);
calc(sm,smi);
calc(sn-sm,snmi);
for i:=2 to sn do
sp[i]:=sni[i]-smi[i]-snmi[i];
end;
Procedure Print(pn:integer;pp:myarray);
var i:integer;
Begin
for i:=2 to pn do
if pp[i]<>0 then writeln(i:5,pp[i]:5);
end;
Begin
writeln('vvod chisel n i m');
readln(n,m);
solve(n,m,p);
print(n,p);
readln;
End.