#include <iostream>
typedef long long ll;
using namespace std;
bool ll_is_valid(ll t, ll N, ll x, ll y)
{
return t / x + (t - x) / y >= N;
}
ll f(ll N, ll x, ll y)
{
ll R = 1;
while (!ll_is_valid(R,N,x,y)) R *= 2;
ll L = R / 2;
while(R - L > 1)
{
ll M = (L + R) / 2;
if (!ll_is_valid(M,N,x,y)) {L = M;}
else {R = M;}
}
return R;
}
int main()
{
ll N,x,y;
cin >> N >> x >> y;
if(x > y) swap( x, y );
cout << f(N, x, y) << std::endl;
}
var b,c:array[1..1000]of integer;
k,n,i,j,r,w:integer;
begin
read(n);
k:=0;
w:=0;
for i:=1 to n do
begin
read(b[i]);
if(b[i]<0)then begin
k:=k+1;
c[k]:=b[i]*4;
end;
end;
for i:=1 to k do
begin
for j:=1 to k-i do
begin
r:=c[j];
if(c[j]>c[j+1])then begin
c[j]:=c[j+1];
c[j+1]:=r;
end;
end;
end;
w:=1;
for i:=1 to k do
begin
write(c[i],' ');
end;
writeln;
for i:=2 to k do
if(c[i]<>c[i-1])then w:=w+1;
writeln(W);
end.