import java.util.Arrays; import java.util.Scanner; public class Main { final long MODULO = 1_000_000_000 + 7; void run() { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int c = sc.nextInt(); int v = sc.nextInt(); int[] dp = new int[2 * n - 2 + 1]; Arrays.fill(dp, Integer.MAX_VALUE / 16); dp[1] = 0; for (int i = 1; i < dp.length; ++i) { for (int j = i * 2; j < dp.length; j += i) { dp[j] = Math.min(dp[j], dp[i] + (j / i - 1) * v + c); } } long ans = Long.MAX_VALUE / 16; for (int i = n; i < dp.length; ++i) { ans = Math.min(ans, dp[i]); } System.out.println(ans); } static void tr(Object... objects) { System.out.println(Arrays.deepToString(objects)); } public static void main(String[] args) { new Main().run(); } }