from collections import deque N = int(input()) L=[] [L.append([])for _ in range(N+1)] PASS = [0]*(N+1) for i in range(N+1): cnt = format(i, 'b').count('1') if i-cnt >=1: L[i].append(i-cnt) if i+cnt <=N: L[i].append(i+cnt) q = deque() qcnt = deque() q.append(1) qcnt.append(1) while len(q) !=0: temp = q.popleft() cnt = qcnt.popleft() if temp ==N: print(cnt) exit() if PASS[temp]==0: PASS[temp]=1 for a in L[temp]: q.append(a) qcnt.append(cnt+1) print(-1)