#include <bits/stdc++.h>
using namespace std;
long long area(pair<int, int>& a, pair<int, int>& b, pair<int, int>& c) {
  long long p = b.first - a.first;
  long long q = b.second - a.second;
  long long r = c.first - b.first;
  long long s = c.second - b.second;
  return p * s - q * r;
}
int dir(pair<int, int> a, pair<int, int> b, pair<int, int> c) {
  long long v = area(a, b, c);
  if (v < 0) return -1;
  if (v > 0) return 1;
  return 0;
}
bool bad_food = false;
vector<pair<int, int> > half_hull(vector<pair<int, int> > S, pair<int, int> a) {
  vector<pair<int, int> > res;
  res.push_back(a);
  for (int i = 0; i < (S.size()); ++i) {
    if (S[i] == res.back()) bad_food = true;
    for (int j = res.size() - 1; j > 0 && dir(res[j - 1], res[j], S[i]) > 0;
         j--) {
      res.pop_back();
    }
    res.push_back(S[i]);
  }
  return res;
}
vector<pair<int, int> > hull(vector<pair<int, int> > S) {
  sort(S.begin(), S.end());
  pair<int, int> p1 = S.front(), p2 = S.back();
  vector<pair<int, int> > up, down;
  bad_food = false;
  for (int i = (1); i <= (S.size() - 2); ++i) {
    if ((S[i] == p1) || (S[i] == p2)) bad_food = true;
    if (dir(p1, p2, S[i]) > 0)
      up.push_back(S[i]);
    else if (dir(p2, p1, S[i]) > 0)
      down.push_back(S[i]);
  }
  up.push_back(p2);
  sort(up.begin(), up.end());
  up = half_hull(up, p1);
  down.push_back(p1);
  sort(down.rbegin(), down.rend());
  down = half_hull(down, p2);
  vector<pair<int, int> > res;
  for (int i = 0; i < (up.size()); ++i) res.push_back(up[i]);
  for (int i = 0; i < (down.size()); ++i) res.push_back(down[i]);
  return res;
}
int dx[4] = {0, -1, 1, 0};
int dy[4] = {-1, 0, 0, 1};
int main() {
  vector<pair<int, int> > P;
  int N, first, second;
  cin >> N;
  P.resize(4 * N);
  for (int i = 0; i < (N); ++i) {
    cin >> first >> second;
    for (int mv = 0; mv < (4); ++mv) {
      P[4 * i + mv].first = first + dx[mv];
      P[4 * i + mv].second = second + dy[mv];
    }
  }
  sort(P.begin(), P.end());
  P.erase(unique(P.begin(), P.end()), P.end());
  int ans = 0;
  vector<pair<int, int> > h = hull(P);
  N = h.size();
  for (int i = 0; i < (N); ++i) {
    int j = (i + 1) % N;
    ans += max(abs(h[i].second - h[j].second), abs(h[i].first - h[j].first));
  }
  cout << ans << endl;
}
