from copy import copy n=int(input()) field=[100000 for i in range(n)] field[0]=1 def bitcnt(x): cnt=0 while True: cnt+=x&1 x=x>>1 if x==0: break return cnt while True: fc=copy(field) for i in range(n): cnt=bitcnt(i+1) if i-cnt>=0: field[i-cnt]=min([field[i]+1,field[i-cnt]]) if i+cnt