N = int(input()) C,V = map(int,input().split()) INF = 1 << 60 dp = [INF] * (N + 1) dp[1] = 0 for i in range(1, N + 1): if dp[i] != INF: for j in range(1, N + 1): if i + j * i > N: dp[N] = min(dp[N], dp[i] + C + j * V) break dp[i + j * i] = min(dp[i + j * i], dp[i] + C + j * V) # print("i",i,dp[1:]) print(dp[N])