import strutils, sequtils

const inf = 19970430

var
  n:int = stdin.readLine.parseInt
  dp = newSeqWith(n+1, inf)
  bits = newSeq[int](n+1)

for i in 0.. n:
  var cp = i
  while cp > 0:
    if (cp and 1)==1: bits[i] += 1
    cp = cp shr 1

dp[1] = 1
for loop in 0.. <100: #(ΦωΦ)<100回ぐらいやればいいよね
  for i in 1.. n:
    if i+bits[i] <= n: dp[i+bits[i]] = min(dp[i+bits[i]], dp[i]+1)
    if i-bits[i] >= 1: dp[i-bits[i]] = min(dp[i-bits[i]], dp[i]+1)

var res = dp[n]
if res==inf: res = -1
echo res