#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e7;
const long long inf = 1e17;
long long dp[maxn + 10];
long long n, x, y;
int main() {
  scanf("%lld%lld%lld", &n, &x, &y);
  dp[1] = x;
  for (int i = 2; i <= n; i++) {
    if (i & 1) {
      dp[i] = min(dp[i - 1] + x, min(dp[i / 2] + x + y, dp[i / 2 + 1] + x + y));
    } else {
      dp[i] = min(dp[i / 2] + y, dp[i - 1] + x);
    }
  }
  printf("%lld\n", dp[n]);
  return 0;
}
