#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
#include<map>
#include<set>
using namespace std;
#define ll long long
const int N=10010;
int n,l,r,a[N],coin[N];
int len=1,len1=1;
struct node{
int first,second;
}lr[N];
bool cmp(node a,node b){
return a.first*a.second<b.first*b.second;
}
void cheng(long long x){
for(int i=0;i<len;i++){
coin[i]*=x;
}
for(int i=0;i<len;i++){
coin[i+1]=coin[i]/10;
coin[i]%=10;
}
while(len!=0&&coin[len]!=0){
len--;
}
}
void chu(ll x){
int a=0;
for(int i=len1;i>=1;i--){
a=a*10+coin[i];
coin[i]=a/x;
a%=x;
}
while(coin[len1]!=0&&len1!=0){
len1--;
}
}
void coin1(int coin[],node lr[]){
coin[0]=lr[0].first/lr[0].second;
for(int i=0;i<n;i++){
cheng(lr[i].first);
chu(lr[i].second);
}
}
int main(){
cin>>n;
cin>>l>>r;
for(int i=0;i<n;i++){
cin>>lr[i].first>>lr[i].second;
}
sort(lr,lr+n,cmp);
coin1(coin,lr);
sort(coin,coin+n);
cout<<coin[0];
return 0;
}