import sys n=int(input()) if n==1: print(1) sys.exit() if n==2: print(2) sys.exit() data=[0]*(n+1) data[2]=1 flag=[0]*(n+1) flag[1]=1 flag[2]=1 que=[[2]] count=2 while que: h=que.pop() H=[] for u in h: data[u]=count cnt=0 for i in range(14): if (u>>i)&1==1: cnt+=1 if u+cnt==n: print(count+1) break if u+cnt>n: if flag[2*n-u-cnt]==0: H.append(2*n-u-cnt) flag[2*n-u-cnt]=1 else: if flag[u+cnt]==0: H.append(u+cnt) flag[u+cnt]=1 if flag[u-cnt]==0: H.append(u-cnt) flag[u-cnt]=1 else: if H: que.append(H) count+=1 continue break else: print(-1)