def popcnt(n): return bin(n).count("1") def main(): N = int(input()) visited = [] q = [[1,0]] while q: node = q.pop() visited.append(node[0]) if node[0] == N: print(node[1]) return add = popcnt(node[0]) next_node = [node[0]+add,node[1]+1] if next_node[0] <= N and not next_node[0] in visited: q.append(next_node) next_node = [node[0]-add,node[1]+1] if next_node[0] >= 1 and not next_node[0] in visited: q.append(next_node) print(-1) main()