import sys sys.setrecursionlimit(410000) n = int(input()) INF = 10000 dp = [INF]*(n+1) def dfs(i,m): if dp[i] <= m: return dp[i] = m bc = bin(i).count("1") if 1< i+bc <=n: dfs(i+bc,m+1) if 1< i-bc <=n: dfs(i-bc,m+1) dfs(1,1) if dp[n]==INF: print(-1) else: print(dp[n])