#include using namespace std; typedef long long ll; #define REP(i,n) FOR(i,0,n) #define FOR(i,a,b) for(ll i=a;i vi; typedef vector> vvi; const ll INF = (1ll << 30); typedef pair pii; struct Edge{ ll s,t,c; }; typedef vector> Graph; typedef vector vpii; unordered_set get(ll a) { unordered_set s; for(ll i=1;i*i<=a;i++) { if(a%i==0) s.insert(i); } unordered_set ret; for(ll i:s) { ret.insert(i); ret.insert(a/i); } return ret; } int main() { ll N,C,V; cin>>N>>C>>V; vi A(2*N+1,INF); A[1]=0; FOR(i,2,2*N+1) { unordered_set v=get(i); for(ll j:v) { A[i]=min(A[i],A[j]+C+V*(i/j-1)); } } ll ans=INF; FOR(i,N,2*N+1) ans=min(ans,A[i]); cout<