#include <bits/stdc++.h>
using namespace std;
const int N = 10000010;
long long f[N];
long long mm(long long a, long long b) {
  if (a < b)
    return a;
  else
    return b;
}
int main() {
  int n, x, y;
  int i;
  scanf("%d%d%d", &n, &x, &y);
  f[1] = x;
  for (i = 2; i <= n; i++) {
    f[i] = f[i - 1] + x;
    if (i & 1)
      f[i] = mm(f[i + 1 >> 1] + x + y, f[i]);
    else
      f[i] = mm(f[i], f[i / 2] + y);
  }
  printf("%I64d", f[n]);
}
