#include <bits/stdc++.h>
using namespace std;
long long int n, x, y;
long long int dp[20000007];
long long int fnc(long long int sum, long long int x, long long int y) {
  if (sum == 0) {
    return 0;
  }
  if (sum == 1) {
    return x;
  }
  if (dp[sum] != -1) {
    return dp[sum];
  }
  if (sum % 2 == 0) {
    dp[sum] = min(fnc(sum / 2, x, y) + y, fnc(sum - 1, x, y) + x);
  } else {
    dp[sum] = min(fnc((sum + 1) / 2, x, y) + x + y,
                  min(fnc(sum / 2, x, y) + x + y, fnc(sum - 1, x, y) + x));
  }
  return dp[sum];
}
int main() {
  cin >> n >> x >> y;
  for (int i = 0; i < n + 5; i++) dp[i] = -1;
  dp[1] = x;
  for (int i = 1; i <= n; i++) {
    if (i % 2 == 0) {
      dp[i] = min(fnc(i / 2, x, y) + y, fnc(i - 1, x, y) + x);
    } else {
      dp[i] = min(fnc((i + 1) / 2, x, y) + x + y, fnc(i - 1, x, y) + x);
    }
  }
  cout << dp[n] << endl;
}
