#include <bits/stdc++.h>
using namespace std;
int const N = 1e7;
long long an[N + 1];
int main() {
  int n, x, y;
  scanf("%d%d%d", &n, &x, &y);
  an[1] = x;
  for (int i = 2; i < n + 1; ++i) an[i] = 1e18;
  for (int i = 1; i < n; ++i) {
    an[i + 1] = min(an[i + 1], x + an[i]);
    int z = i << 1;
    if (z <= n) an[z] = min(an[z], y + an[i]);
    if (z <= n + 1) an[z - 1] = min(an[z - 1], an[i] + x + y);
  }
  printf("%I64d", an[n]);
}
