#include <bits/stdc++.h>
using namespace std;
const long long N = 10000000;
long long n, a, b;
long long dp[N + 1];
signed main() {
  cin >> n >> a >> b;
  dp[0] = 0;
  for (long long i = 1; i <= n; i++)
    if (i & 1)
      dp[i] = min(dp[i - 1] + a, dp[i + 1 >> 1] + a + b);
    else
      dp[i] = min(dp[i - 1] + a, dp[i >> 1] + b);
  cout << dp[n];
  return 0;
}
