#include <iostream>
using namespace std;
#include <vector>
#include <algorithm>
bool OK(long long  mid,long long  x, long long  y,long long n){
	long long m=min(x,y);
	if (mid<m){
		return false;
	}
	return (mid-m)/x+(mid-m)/y>=n-1;
}
void solve(){
	long long  n,x,y;
	cin>>n>>x>>y;
	long long left=0;
	long long right=1e18;
	while(right-left>1){
		long long mid=(left+right)/2;
		if (OK(mid,x,y,n)){
			right=mid;
		}
		else{
			left=mid;
		}
	}
	cout<<right<<'\n';
}
int main(){
	solve();
}