#include using namespace std; #define rep(i,n) for(int i = 0; i < (n);i++) #define sz(x) int(x.size()) typedef long long ll; typedef pair P; constexpr ll INF = (1LL << 55); int main(){ int n; cin >> n; vector x(n), y(n); rep(i,n) cin >> x[i] >> y[i]; int h = n / 2, m = n - h; set st; for (int bit = 0; bit < (1 << h); bit++) { ll dif = 0; for (int i = 0; i < h; i++) { if (bit & (1 << i)) dif += x[i]; else dif -= y[i]; } st.emplace(dif); } ll res = INF; for (int bit = 0; bit < (1 << m); bit++) { ll dif = 0; for (int i = 0; i < m; i++) { if (bit & (1 << i)) dif += x[h + i]; else dif -= y[h + i]; } auto itr = st.lower_bound(-dif); if (itr != st.end()) res = min(res, abs(*itr + dif)); if (itr != st.begin()) --itr; if (itr != st.end()) res = min(res, abs(*itr + dif)); } cout << res << endl; return 0; }