#include<bits/stdc++.h>
using namespace std;
int n, ans[4010], len = 1,flag=1; long long reminder;
struct king
{
int a,b,t;
}a[1010];
bool cmp(king u, king v)
{
return u.t > v.t;
}
void multiply(int n)
{
for (int i = 1; i <= len; i++)
ans[i] *= n;
for (int i = 1; i <= len+6; i++)
{
ans[i + 1] += ans[i] / 10;
ans[i] %= 10;
}
for(int i=len+10;i>=len;i--)
if (ans[i]) { len = i; break; }
return;
}
void devide(int n)
{
reminder = 0;
for (int i = len; i >=1; i--)
{
reminder = reminder * 10 + ans[i];
ans[i] = reminder / n;
reminder %= n;
}
while (ans[len] == 0&&len>=1)len--;
}
int main()
{
cin >> n;
ans[1] = 1;
for (int i = 0; i <= n; i++) { cin >> a[i].a >> a[i].b; a[i].t = a[i].a * a[i].b; multiply(a[i].a); }
sort(a+1, a + n + 1, cmp);
devide(a[1].t);
for (int i = len; i >= 1; i--) {cout << ans[i]; flag = 0;}
if (flag)cout << '0';
return 0;
}