n = int(input()) prev = [[1, []]] end_flag = False c = 1 while len(prev) != 0: next = [] for p in prev: if p[0] == n: print(c) end_flag = True break b = bin(p[0])[2:].count("1") for i in range(2): next_place = p[0] + b * (-1) ** i if 1 <= next_place <= n and not next_place in p[1]: next.append([next_place, p[1] + [p[0]]]) if end_flag: break c += 1 prev = next else: print(-1)