n = int(input()) INF = 10 ** 18 dp = [INF] * 300010 dp[1] = 0 for i in range(1, n + 1): for k in range(1, n + 1): if i * k > n: break dp[i * k] = min(dp[i] + k, dp[i * k]) print(dp[n])