Помогите с PascalABC.NET Опишите на русском языке как работает программа.
var n,i,m:integer;
flag:boolean;
begin
readln(n);
flag:=false;
if (n mod 2<>0)then i:=n-1 else i:=n;
while i>0 do begin
if power(2,i)<=n then begin
write(power(2,i),' '); flag:=true;
end;
i:=i-2;
end;
if not flag then writeln(0);
end.