#include<bits/stdc++.h>
using namespace std;
int maxx,t,a[4];
void dfs(int x,bool flag){
if(maxx==t){
return;
}
if(a[1]<=t){
if(x+a[1]<=t){
dfs(x+a[1],flag);
}else {
if(flag==0){
dfs(x/2,flag+1);
}
maxx=max(maxx,x);return;
}
}
if(a[2]<=t){
if(x+a[2]<=t){
dfs(x+a[2],flag);
}else {
if(flag==0){
dfs(x/2,flag+1);
}
maxx=max(maxx,x);return;
}
}
}
int main(){
cin>>t;
for(int i=1;i<=2;i++){
cin>>a[i];
}
dfs(0,0);
cout<<maxx;
return 0;
}