Function Sov(n:longint):boolean;
begin
case n of
6:Sov:=true;
28:Sov:=true;
496:Sov:=true;
8128:Sov:=true;
33550336:Sov:=true;
else Sov:=false
end
end;
var
a,b,i,k:longint;
begin
Write('Введите границы промежутка через пробел: ');
Readln(a,b);
for i:=1 to b do
if Sov(i) then
begin
Write(i,' ');
Inc(k)
end;
Writeln;
Writeln('Найдено совершенных чисел: ',k)
end.