def Bit_sugorogu2(): N = int(input()) List = [] masu = 1 cnt = 1 while(True): List.append(masu) binary = bin(masu) num = binary.count("1") if(masu + num > N): break masu += num cnt += 1 if(masu == N): return cnt else: while(masu != 1): binary = bin(masu) num1 = binary.count("1") now_masu = masu - num1 cnt += 1 now_cnt = cnt while(True): if(now_masu in List): break List.append(now_masu) binary = bin(now_masu) num2 = binary.count("1") if(now_masu + num2 > N): break now_masu += num2 now_cnt += 1 if(now_masu == N): return now_cnt masu -= num1 return -1 print(Bit_sugorogu2())