uses crt;
var n,i,s:integer;
ok:boolean;
BEGIN
clrscr;
write('Nhap n: ');readln(n);
if n mod 2=0 then writeln('So ',n,' la so chan')
else writeln('So ',n,' la so le');
if n<2 then write('so ',n,' khong phai la so nguyen to');
else
begin
ok:=true;
for i:=2 to trunc(sqrt(n)) do
if n mod i=0 then ok:=false;
if ok then writeln('So ',n,' la so nguyen to')
else writeln('So ',n,' khong phai la so nguyen to');
end;
for i:=1 to n-1 do
if n mod i=0 then s:=s+i;
if s=n then writeln (n,' la so hoan hao')
else writeln (n,' ko phai la so hoan hao');
readln;
END.