#include<bits/stdc++.h>
using namespace std;
#define int long long
int a,c,s[8010],ma[8010],ss[8010];
string b;
struct node{
int x,y,z;
};
node n[1010];
bool cmp(node a,node b){
return a.z<b.z;
}
signed main(){
cin>>a>>b>>c;
for(int i=0;i<b.size();i++){
s[i]=b[i]-'0';
}
for(int i=0;i<a;i++){
cin>>n[i].x>>n[i].y;
n[i].z=n[i].x*n[i].y;
}
sort(n+0,n+a,cmp);
for(int i=0;i<a;i++){
int sss=0;
for(int j=8009;j>=0;j--){
sss*=10;
sss+=s[j];
ss[j]=sss/n[i].y;
sss%=n[i].y;
}
bool ky=0;
for(int j=8009;j>=0;j--){
if(ss[j]>ma[j]){
ky=1;
break;
}
else if(ss[j]<ma[j]){
break;
}
}
if(ky){
for(int j=0;j<8010;j++){
ma[j]=ss[j];
}
}
for(int j=0;j<8010;j++){
s[j]*=n[i].x;
}
for(int j=0;j<100;j++){
for(int k=0;k<8010;k++){
if(s[k]>9){
s[k+1]+=s[k]/10;
s[k]%=10;
}
}
}
}
bool ky=0;
for(int i=8009;i>=0;i--){
if(ma[i]){
ky=1;
}
if(ky){
cout<<ma[i];
}
}
return 0;
}