from Queue import Queue import sys N = input() q = Queue() q.put([1, 0]) visit = set() while (q.empty() == False): pos = q.get() if (pos[0] <= 0 or pos[0] >= N + 1): continue if (pos[0] == N): print pos[1] + 1 sys.exit(0) if (pos[0] in visit): continue visit.add(pos[0]) x = bin(pos[0]).count("1") q.put([pos[0] + x, pos[1] + 1]) q.put([pos[0] - x, pos[1] + 1]) print -1