uses crt;
var n,i:longint;
{---Ham-hoan-hao---}
function kt(a:longint):boolean;
var i,s:longint;
begin
s:=0;
for i:=1 to a div 2 do
if a mod i=0 then
inc(s,i);
if s=a then
kt:=true
else
kt:=false;
end;
{---Chuong-trinh-chinh---}
begin
clrscr;
write('Nhap n: '); readln(n);
write('Cac so hoan hao tu 1 den ',n,': ');
for i:=1 to n do
if kt(i) then
write(i,' '); writeln;
readln
end.