#include using namespace std; struct { int s, b; } a[15]; int n, ans = 0x3f3f3f3f; void dfs(int now, int s, int b) { if (now > n) { if (s == 1 && b == 0) return; ans = min(abs(s - b), ans); return; } dfs(now + 1, s * a[now].s, b + a[now].b); dfs(now + 1, s, b); } int main() { cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i].s >> a[i].b; } dfs(1, 1, 0); cout << ans << endl; return 0; }