#include "bits/stdc++.h" using namespace std; #define _CRT_SECURE_NO_WARNINGS #define rep(i,s,l) for(ll i=s;i=s;i--) #define all(x) (x).begin(), (x).end() #define uniq(v) v.erase( unique(v.begin(), v.end()), v.end() ); using ll = long long; using ld = long double; using P = pair; using VP = vector

; using VI = vector; using VLL = vector; using VS = vector; using VC = vector; const int INF = 2147483647; const ll LINF = 1152921504606846976; const ll MOD = 1e9 + 7; const ld EPS = 1e-9; template inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; } template inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; } ll gcd(ll p, ll q) { while (q) { ll t = p % q; p = q; q = t; } return p; } ll lcm(ll a, ll b) { return a * b / gcd(a, b); } inline ll mod(ll x, ll y) { if (x >= y) { return x % y; } else if (x < 0) { return (x % y + y) % y; } else { return x; } } signed main() { const streamsize PRECISION_SIZE = 15; ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); std::cout << std::fixed << std::setprecision(PRECISION_SIZE); int d; int a, b; cin >> d; cin >> a >> b; ll minv{ INF }; rep(x, 0, d + 1) { chmin(minv, x * a + (d - x) * b); } cout << minv << "\n"; return EXIT_SUCCESS; }