#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
long long x[N], y[N], a[N], b[N], M;
int n;
long long res[N];
bool test(vector<pair<long long, long long> > &w,
          vector<pair<long long, long long> > &mm) {
  long long ub = w[0].second, lb = w[0].second;
  for (int i = 0, j = 0; i < n; i++) {
    while (j < n && w[j].first - w[i].first <= 2 * M) ++j;
    if (j == n) {
      if (i == 0)
        return true;
      else if (ub - lb <= 2 * M)
        return true;
    } else {
      if (i == 0) {
        if (mm[j].first - mm[j].second <= 2 * M) return true;
      } else if (max(mm[j].first, ub) - min(mm[j].second, lb) <= 2 * M)
        return true;
    }
    ub = max(ub, w[i].second);
    lb = min(lb, w[i].second);
  }
  return false;
}
int main(void) {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) scanf("%I64d%I64d", &x[i], &y[i]);
  for (int i = 0; i < n; i++)
    a[i] = (x[i] + y[i]) * 2, b[i] = (x[i] - y[i]) * 2;
  long long minA = *min_element(a, a + n);
  long long maxA = *max_element(a, a + n);
  long long minB = *min_element(b, b + n);
  long long maxB = *max_element(b, b + n);
  long long L = 0, R = max(maxA - minA, maxB - minB), ANS = 0;
  vector<pair<long long, long long> > aa, bb, mma, mmb;
  for (int i = 0; i < n; i++) {
    aa.push_back(make_pair(a[i], b[i]));
    bb.push_back(make_pair(b[i], a[i]));
  }
  sort(aa.begin(), aa.end());
  sort(bb.begin(), bb.end());
  if (n) {
    mma.push_back(make_pair(aa[n - 1].second, aa[n - 1].second));
    mmb.push_back(make_pair(bb[n - 1].second, bb[n - 1].second));
  }
  for (int i = n - 2; i >= 0; i--) {
    mma.push_back(make_pair(max(mma.back().first, aa[i].second),
                            min(mma.back().second, aa[i].second)));
    mmb.push_back(make_pair(max(mmb.back().first, bb[i].second),
                            min(mmb.back().second, bb[i].second)));
  }
  reverse(mma.begin(), mma.end());
  reverse(mmb.begin(), mmb.end());
  while (L <= R) {
    M = (L + R) / 2;
    if (test(aa, mma) || test(bb, mmb)) {
      ANS = M;
      R = M - 1;
    } else
      L = M + 1;
  }
  printf("%.6f\n", ANS / 2.0);
  return 0;
}
