#include <bits/stdc++.h>
using namespace std;
long long Length, X, Y;
long long Dp[10000001];
int main(void) {
  register long long i;
  cin >> Length >> X >> Y;
  Dp[1] = X;
  for (i = 2; i <= Length; i++) {
    Dp[i] = Dp[i - 1] + X;
    if (i & 1) {
      Dp[i] = min(Dp[i], Dp[(i >> 1) + 1] + X + Y);
    } else {
      Dp[i] = min(Dp[i], Dp[i >> 1] + Y);
    }
  }
  cout << Dp[Length] << endl;
  return 0;
}
