###1<=n<=1000 ###1<=a,b<=10000 #极限:10000^1000==10^4000。 #NOIP普及/提高组+的题,不可能那么简单。
#include <bits/stdc++.h>
using namespace std;
int n;
struct mini{
int a,b;
}m[1005];
bool pd(mini x,mini y){
return (x.a*x.b)<(y.a*y.b);
}
int x[10000]={1};
int len1=1;
void xc(int a){
int jw=0;
for(int i=0;i<len1;i++){
int temp=x[i]*a+jw;
jw=temp/10;
x[i]=temp%10;
}
while(jw>0){
len1++;
x[len1-1]=jw%10;
jw/=10;
}
}
int y[10000];
int len2;
void div(int a){
memset(y,0,sizeof(y));
int temp=0;
bool flag=true;
for(int i=len1-1;i>=0;i--){
temp=temp*10+x[i];
if(temp>=a){
y[i]=temp/a;
temp%=a;
if(flag){
len2=i+1;
flag=false;
}
}
}
}
string Max="0";
void pb(){
string s;
for(int i=len2-1;i>=0;i--){
s+=y[i]+'0';
}
if(s.size()==Max.size()){
if(s>Max){
Max=s;
}
}
else if(s.size()>Max.size()){
Max=s;
}
}
int main(void){
cin>>n;
cin>>m[0].a>>m[0].b;
for(int i=1;i<=n;i++){
cin>>m[i].a>>m[i].b;
}
sort(m+1,m+n+1,pd);
for(int i=1;i<=n;i++){
xc(m[i-1].a);
div(m[i].b);
pb();
}
cout<<Max;
return 0;
}