#include <bits/stdc++.h>
using namespace std;
struct ac{
int a,b;
};
ac arr[1001];
int num(int a){
int kkk=1;
for(int i=0;i<a;i++){
kkk=arr[i].a*kkk;
}
return kkk;
}
int main(){
int n;
cin>>n;
for(int i=0;i<=n;i++){
cin>>arr[i].a>>arr[i].b;
}
int q=0;
for(int j=1;j<=n;j++){
for(int i=1;i<=n;i++){
if(max(num(i)/arr[i].b,num(i+1)/arr[i+1].b)>max(num(i+1)/arr[i].b,num(i-1)*arr[i+1].a/arr[i+1].b)){
swap(arr[i],arr[i+1]);
};
}
}
for(int i=1;i<=n;i++){
q=max(num(i)/arr[i].b,q);
}
cout<<q;
return 0;
}