#include<bits/stdc++.h> #pragma GCC target ("avx2") #pragma GCC optimization ("O3") #pragma GCC optimization ("unroll-loops") #define all(k) k.begin(),k.end() #define INF 1e9 #define repk(i,a,n) for(int i=a;i<=n;i++) #define rep(i,a,n) for(int i=a;i<n;i++) #define rep2(i,a, n) for(int i=a;i<n;i+=2) #define per(i,a,n) for(int i=n-1;i>=a;i--) #define pb push_back #define ub pop_back #define eb emplace_back #define ll long long #define ull unsigned long long #define pi pair<int,int> #define vc vector<char> #define vpi vector<pi> #define vi vector<int> #define vl vector<ll> #define vvi vector<vi> #define vb vector<bool> #define pq priority_queue #define vvc vector<vc> #define mi map<int,vi> #define mset map<string,set<char>> #define umap unordered_map #define int int64_t using namespace std; #define fi first #define se second const int mod = int(1e9)+7; const int nn= 1e7; int ar(int x,int y){ int res=1; while(y){ if(y&1) res=(res*x)%mod; y>>=1; x=((x*x)%mod); } return res; } int gcd(int x,int y){ if(x==0) return y; return gcd(y%x,x); } void sol() { int d;cin>>d; int a,b;cin>>a>>b; int mn=INT_MAX; for(int x=0;x<=d;x++){ mn=min(mn,a*x+(d-x)*b); } cout<<mn; cout<<'\n'; } int32_t main() { int t=1; // cin>>t; for(int i=1;i<=t;++i){ // cout<<"Case #"<<i<<": "; sol(); } return 0; }