def solve(n) return 0 if n == 1 return MEMO[n] if MEMO[n] res = n.even? ? 1 + solve(n / 2) : 2 + solve((n + 1) / 2) MEMO[n] = res end MEMO = {} N = gets.to_s.to_i puts solve(N)