N = int(input()) jmp_to = {x: [x-d, x+d] for x,d in [[x, bin(x).count("1")] for x in range(1,N)]} pos = {1} passed = set() cnt = 1 while len(pos) > 0: if N in pos: break passed.update(pos) new_pos = set() for i in pos: if i > 0 and i < N: new_pos.update(jmp_to[i]) new_pos = new_pos - passed pos = new_pos cnt += 1 else: cnt = -1 print(cnt)