rt
#include<bits/stdc++.h>
using namespace std;
string chu(string s,int b){
string ans;
int i=0;
int t=s[i]-'0';
while(t<b&&i+1<s.size()){
t=t*10+(s[++i]-'0');
}
while(i<s.size()){
ans+=(t/b)+'0';
t=(t%b)*10+(s[++i]-'0');
}
if(ans.empty()) return "0";
return ans;
}
string cheng(string s,int b){
if(b==0) return "0";
string ans;
int t=0;
for (int i=s.size()-1;i>=0;--i){
int p=(s[i]-'0')*b+t;
ans.push_back(p%10+'0');
t=p/10;
}
while(t){
ans.push_back(t%10+'0');
t/=10;
}
reverse(ans.begin(),ans.end());
return ans;
}
bool ck(string a,string b){
if (a.size()!=b.size()) return a.size()>b.size();
return a>b;
}
const int N=10010;
struct p{
int l,r;
}a[N];
int n;
bool cmp(p x,p y){
return x.l*x.r<y.l*y.r;
}
int main(){
cin>>n;
for(int i=1;i<=n+1;i++){
cin>>a[i].l>>a[i].r;
}
sort(a+2,a+2+n,cmp);
string ans="0",res=to_string(a[1].l);
for(int i=2;i<=n+1;i++){
string s=chu(res,a[i].r);
if(ck(ans,s)) ans=s;
res=cheng(res,a[i].l);
}
cout<<ans;
return 0;
}