#include <bits/stdc++.h>
using namespace std;
long long int dp[10000001];
long long int ans(long long int n, long long int x, long long int y) {
  if (n == 1) {
    return x;
  }
  if (dp[n] != -1) {
    return dp[n];
  } else {
    if (n % 2 == 0) {
      return dp[n] = min(y + ans(n / 2, x, y), n * x);
    } else {
      return dp[n] = min(n * x, min(x + y + ans((n - 1) / 2, x, y),
                                    x + y + ans((n + 1) / 2, x, y)));
    }
  }
}
int main() {
  long long int n, x, y;
  cin >> n >> x >> y;
  memset(dp, -1, sizeof(dp));
  cout << ans(n, x, y) << endl;
  return 0;
}
