func main() var N: int :: cui@input().toInt(&) var current: int :: 1 var ans: int :: 1 while(current < N) do ans :+ 1 do current :+ bitNum(current) end while do ans :: current = N ?(ans, -1) do cui@print("\{ans}\n") func bitNum(n: int): int var res: int while(n <> 0) do res :+ n % 2 do n :/ 2 end while ret res end func end func