import numpy as np N=int(input()) a=[N] goal=N flag=0 flag_1=0 while(a[len(a)-1]!=1): for i in range(1,N): step=np.sum(list(map(int,list(format(i, 'b'))))) if(step+i==goal): flag_1=0 a.append(i) goal=i break else: flag_1=1 goal=a[len(a)-2] for i in range(1,N): step=np.sum(list(map(int,list(format(i, 'b'))))) if(i-step==goal): a.pop() flag_1=0 a.append(i) goal=i break else: flag=1 break if(flag==1): print(-1) else: print(len(a))