#include using namespace std; #define FOR(i,a,b) for(int i=(a);i<(b);i++) #define REP(i,n) FOR(i,0,n) #define ALL(v) (v).begin(),(v).end() #define fi first #define se second template inline bool chmax(A &a, B b) { if (a inline bool chmin(A &a, B b) { if (a>b) { a=b; return 1; } return 0; } typedef long long ll; typedef pair pii; typedef pair pll; typedef pair pip; const ll INF = 1ll<<29; const ll MOD = 1000000007; const double EPS = 1e-10; const bool debug = 0; //---------------------------------// int N, C, V; int dp[112345]; int main() { cin >> N >> C >> V; fill(dp, dp + 112345, INF); dp[1] = 0; FOR(i, 1, N) { chmin(dp[i + i], dp[i] + C + V); for (int j = 2; i * j < N; j++) chmin(dp[i * j], dp[i] + C + V * (j - 1)); int j = (N + i - 1) / i; chmin(dp[i * j], dp[i] + C + V * (j - 1)); } cout << *min_element(dp + N, dp + 112345) << endl; return 0; }