import sys sys.setrecursionlimit(100000) N = int(input()) visited = [-1] * N def bfs(visited, now, ans): visited[now] = ans if visited[N-1] != -1: return ans 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, visited[now] + 1) if 0 < now - count and visited[now - count] == -1: return bfs(visited, now - count, visited[now] + 1) return -1 print(bfs(visited, 0, 1))