#include <bits/stdc++.h>
using namespace std;
const long long nax = 1e7 + 100;
long long dp[nax];
signed main() {
  long long n, x, y;
  cin >> n >> x >> y;
  dp[1] = x;
  for (long long i = 2; i <= n; i++)
    dp[i] = min(dp[i - 1] + x, dp[(i + 1) / 2] + y + (i % 2) * x);
  cout << dp[n];
  return 0;
}
