import sys sys.setrecursionlimit(100000) N = int(input()) visited = [-1] * N def bfs(visited, now, ans): if now == (N - 1): return ans visited[now] = 1 tmp = bin(now + 1) count = 0 for i in tmp: if i == '1': count += 1 if now + count < N and visited[now + count] == -1: return bfs(visited, now + count, ans + 1) if 0 < now - count and visited[now - count] == -1: return bfs(visited, now - count, ans + 1) return -1 print(bfs(visited, 0, 1))