Procedure.i PopCount(n.i) : ProcedureReturn CountString(Bin(Pow(3,n)),"1") : EndProcedure Procedure PutR(v.i) : Print(RSet(Str(v),3)) : EndProcedure If OpenConsole() NewList ne() : NewList no() i=0 While ListSize(ne())+ListSize(no())<60 If CountString(Bin(i),"1")%2=0 : AddElement(ne()) : ne()=i Else : AddElement(no()) : no()=i : EndIf i+1 Wend Print("3^i [i=0..29]") : For i=0 To 29 : PutR(PopCount(i)) : Next : PrintN("") Print("Evil numbers ") : ForEach ne() : PutR(ne()) : Next : PrintN("") Print("Odious numb..") : ForEach no() : PutR(no()) : Next : Input() EndIf