N = int(input()) C, V = map(int, input().split()) inf = 10**18 dp = [inf] * (2 * N + 1) dp[1] = 0 for i in range(1, N): x = i + i cost = C + V while True: dp[x] = min(dp[x], dp[i] + cost) if x > N: break x += i cost += V ans = inf for i in range(N, 2 * N + 1): ans = min(ans, dp[i]) print(ans)