#include <bits/stdc++.h>
using namespace std;
void File_input() {
  freopen("in.txt", "r", stdin);
  freopen("out.txt", "w", stdout);
}
void FastInputOutput() {
  ios_base ::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
}
int n;
long long x, y;
void BFS(int u) {
  priority_queue<pair<long long, int> > an;
  an.push({0, u});
  int cur;
  long long cost;
  while ((long long)an.size()) {
    cur = an.top().second;
    cost = an.top().first * -1;
    an.pop();
    if (!cur) {
      cout << cost;
      return;
    }
    if (cur % 2 == 0) {
      an.push({-1 * (cost + y), cur / 2});
      an.push({-1 * (cost + (cur / 2) * x), cur / 2});
    } else {
      an.push({-1 * (cost + x), cur - 1});
      an.push({-1 * (cost + x), cur + 1});
    }
  }
}
int main() {
  scanf("%d%lld%lld", &n, &x, &y);
  BFS(n);
  return 0;
}
