with(numtheory);
local a, b, c, d, f, i, j, n, p, pfs, v;
v:=array(1..100); for n from 1 to 100 do v[n]:=0; od;
a:=0;
for n from 1 to q do
pfs:=ifactors(n)[2]; c:=n*add(op(2, p)/op(1, p), p=pfs); b:=0;
for i from 1 to trunc(n/2) do
pfs:=ifactors(i)[2]; d:=i*add(op(2, p)/op(1, p), p=pfs);
pfs:=ifactors(n-i)[2]; f:=(n-i)*add(op(2, p)/op(1, p), p=pfs);
if c=d+f then b:=b+1; fi; od;
if b=a+1 then a:=b; print(b, n); j:=1;
while v[b+j]>0 do a:=b+j; print(b, v[b+j]); j:=j+1; od;
else if b>a+1 then if v[b]=0 then v[b]:=n; fi; fi; fi;
od; end: