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])