#yukicoder #ビットスゴロク 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