#include <bits/stdc++.h>
using namespace std;
#define ll long long
const ll mod=100000000;
int n,x,y,k,ans=1;
struct node
{
int a,b;
bool operator< (const node& cwx)const
{
return a*b<cwx.a*cwx.b;
}
}p[10005];
ll zuo[5001],gw,ret;
int main()
{
scanf("%d%lld%*lld",&n,zuo);
p[0].a=zuo[0];
for(int i=1;i<=n;++i)scanf("%d%d",&x,&y),p[i].a=x,p[i].b=y;
sort(p+1,p+n+1);
for(int i=2;i<=n;++i)if(p[i-1].a*p[i-1].b>=p[i].b)ans=i;
for(int i=1;i<ans;++i)
{
for(int j=0;j<=k;++j)
{
zuo[j]*=p[i].a;
if(j)zuo[j]+=zuo[j-1]/mod,zuo[j-1]%=mod;
}
if(zuo[k]>=mod&&k)++k,zuo[k]+=zuo[k-1]/mod,zuo[k-1]%=mod;
}
if(!k)return 0*printf("%lld",zuo[0]/p[ans].b);
else if(zuo[k]/p[ans].b)printf("%lld",zuo[k]/p[ans].b);
zuo[k]%=p[ans].b,ret=zuo[k];
for(int i=k-1;~i;--i)ret=ret*mod+zuo[i],printf("%08lld",ret/p[ans].b),ret%=p[ans].b;
return 0;
}