#include using namespace std; using ll = long long; #define rep(i, n) for (int i = 0; i < (int)(n); i++) int main() { cin.tie(nullptr); ios_base::sync_with_stdio(false); int n; cin >> n; vector x(n), y(n); rep(i, n) { ll a, b; cin >> a >> b; a *= 2; b *= 2; x[i] = a + b; y[i] = a - b; } ll l = 1LL << 60; ll u = 1LL << 60; ll d = -1LL << 60; ll r = -1LL << 60; for (ll i : x) { l = min(l, i); r = max(r, i); } for (ll i : y) { u = min(u, i); d = max(d, i); } if (n <= 2) { cout << 0 << endl; return 0; } ll L = 0, R = 1LL << 60; while (L + 1 != R) { ll c = (L + R) / 2; auto check = [&](ll x1, ll y1, ll x2, ll y2) { rep(i, n) { bool ok = false; if (x1 <= x[i] && x[i] <= x1 + 2 * c && y1 <= y[i] && y[i] <= y1 + 2 * c) ok = true; if (x2 <= x[i] && x[i] <= x2 + 2 * c && y2 <= y[i] && y[i] <= y2 + 2 * c) ok = true; if (!ok) return false; } return true; }; if (check(l, u, r - 2 * c, d - 2 * c) || check(l, d - 2 * c, r - 2 * c, u)) { R = c; } else { L = c; } } cout << R << endl; return 0; }