## https://yukicoder.me/problems/no/642 from collections import deque def main(): N = int(input()) if N == 1: print(0) return dp = {N: 0} queue = deque() queue.append(N) while len(queue) > 0: n = queue.popleft() d = dp[n] n1 = n + 1 if n1 not in dp: dp[n1] = d + 1 if n1 == 1: break queue.append(n1) if n % 2 == 0: n2 = n // 2 if n2 not in dp: dp[n2] = d + 1 if n2 == 1: break queue.append(n2) print(dp[1]) if __name__ == '__main__': main()