#include<bits/stdc++.h>
using namespace std;
int n;
int s[20], b[20];
bool jud[20];
int minn = 0x7f;
long long sour = 1, bitter = 0, pre = 0x7f;
int md;
void dfs(int step)
{
if(step > n)
{
return ;
}
else
{
for(int i = 1; i <= n; i++)
{
if(jud[i] == false)
{
sour *= s[i];
bitter += b[i];
jud[i] = true;
int k = abs(sour - bitter);
md = min(minn, k);
pre = minn;
minn = md;
dfs(step + 1);
minn = pre;
jud[i] = false;
sour /= s[i];
bitter -= b[i];
}
}
}
}
int main()
{
cin >> n;
memset(jud, false, sizeof(jud));
for(int i = 1; i <= n; i++)
{
cin >> s[i] >> b[i];
}
dfs(1);
cout << md;
return 0;
}