from collections import deque N = int(input()) todo = deque() todo.append(0) counts = [0] * N counts[0] = 1 while len(todo) > 0: i = todo.popleft() if i == N - 1: print(counts[i]) exit() back = i - (i + 1).bit_count() front = i + (i + 1).bit_count() if back >= 0 and counts[back] == 0: counts[back] = counts[i] + 1 todo.append(back) if front < N and counts[front] == 0: counts[front] = counts[i] + 1 todo.append(front) print(-1)