import sequtils,strutils var n = parseInt readLine stdin t = repeat(-1,n + 1) list = @[1] t[1] = 1 while list.len != 0: var re = newSeq[int]() for v in list: var b = toBin(v,16).count('1') if (v + b) <= n and t[v + b] == -1: re.add(v + b) t[v + b] = t[v] + 1 if (v - b) > 0 and t[v - b] == -1: re.add(v - b) t[v - b] = t[v] + 1 list = re echo t[n]