#include <bits/stdc++.h>
using namespace std;
int ntik, tot, pc, p, dx, dy;
vector<pair<int, int> > tik, cvx;
int det(pair<int, int> aa, pair<int, int> bb, pair<int, int> cc) {
  pair<long long, long long> a, b, c;
  long long h;
  a = make_pair(aa.first, aa.second);
  b = make_pair(bb.first, bb.second);
  c = make_pair(cc.first, cc.second);
  h = (a.first * b.second) + (b.first * c.second) + (c.first * a.second) -
      (a.first * c.second) - (b.first * a.second) - (c.first * b.second);
  if (h < 0) {
    return -1;
  } else if (h > 0) {
    return 1;
  } else {
    return 0;
  }
}
int pyt(pair<int, int> aa) {
  long long xx = aa.first - tik[0].first;
  long long yy = aa.second - tik[0].second;
  return xx * xx + yy * yy;
}
bool kom(pair<int, int> a, pair<int, int> b) {
  if (det(tik[0], a, b) == 0) {
    return pyt(a) < pyt(b);
  } else {
    return (det(tik[0], a, b) > 0);
  }
}
int main() {
  scanf("%d", &ntik);
  for (int i = 0; i < ntik; i++) {
    scanf("%d%d", &dx, &dy);
    tik.push_back(make_pair(dx - 1, dy));
    tik.push_back(make_pair(dx + 1, dy));
    tik.push_back(make_pair(dx, dy + 1));
    tik.push_back(make_pair(dx, dy - 1));
  }
  ntik *= 4;
  for (int i = 0; i < ntik; i++) {
    if ((tik[i].second < tik[0].second) ||
        ((tik[i].second == tik[0].second) && (tik[i].first > tik[0].first))) {
      swap(tik[0], tik[i]);
    }
  }
  sort(++tik.begin(), tik.end(), kom);
  cvx.push_back(tik[0]);
  cvx.push_back(tik[1]);
  pc = 2;
  p = 2;
  while (p < ntik) {
    if (det(cvx[pc - 2], cvx[pc - 1], tik[p]) > 0) {
      cvx.push_back(tik[p]);
      p++;
      pc++;
    } else {
      cvx.pop_back();
      pc--;
    }
  }
  cvx.push_back(cvx[0]);
  tot = 0;
  for (int i = 0; i < cvx.size() - 1; i++) {
    dx = abs(cvx[i].first - cvx[i + 1].first);
    dy = abs(cvx[i].second - cvx[i + 1].second);
    tot += max(dx, dy);
  }
  printf("%d\n", tot);
  return 0;
}
