#include <iostream>
#include <math.h>
#define maxn 100000
using namespace std;
int n,mmin=1e9;
struct food{
int suan,ku;
}a[maxn];
bool vis[maxn];
void dfs(int suan,int ku){
int tot=0;
for (int i=1;i<=n;i++){
if (vis[i]==1){
tot++;
}
}
if (tot==n){
mmin=min(mmin,abs(suan-ku));
}
for (int i=1;i<=n;i++){
if (!vis[i]){
vis[i]=1;
dfs(suan*a[i].suan,ku+a[i].ku);
vis[i]=0;
}
}
return;
}
int main(){
int n;
cin>>n;
for (int i=1;i<=n;i++){
cin>>a[i].suan>>a[i].ku;
}
dfs(1,0);
cout<<mmin;
return 0;
}