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