#include <bits/stdc++.h>
using namespace std;
int n,a[11],b[11],ans=INT_MAX,sour=1,ku,vis[11];
void dfs(int i){
if(i==n+1){
return;
}
for(int j=1;j<=n;j++){
if(vis[j]||abs(sour*a[j]-(ku+b[j]))>abs(sour-ku)&&sour!=1&&ku!=0)continue;
sour*=a[j],ku+=b[j];
vis[j]=1;
ans=min(abs(sour-ku),ans);
dfs(j);
vis[j]=0;
sour/=a[j];
ku-=b[j];
}
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i]>>b[i];
}
dfs(1);
cout<<ans<<endl;
return 0;
}