#include <bits/stdc++.h>
using namespace std;
typedef struct point {
  double x, y;
  void read() { scanf("%lf%lf", &x, &y); }
  bool operator<(const point &p) const {
    return (x < p.x || (p.x == x && y < p.y));
  }
} Point;
double cross(point p1, point p2, point p3) {
  return (p2.x - p1.x) * (p3.y - p1.y) - (p2.y - p1.y) * (p3.x - p1.x);
}
int n, n_h;
double EPS = 1e-12;
Point P[100002], H[100002];
int convexhull(point P[], int n, point H[]) {
  sort(P, P + n);
  int m = 0;
  for (int i = 0; i < n; i++) {
    while (m >= 2 && cross(H[m - 2], H[m - 1], P[i]) <= EPS) m--;
    H[m++] = P[i];
  }
  m--;
  for (int i = n - 1, k = m; i >= 0; i--) {
    while (m >= k + 2 && cross(H[m - 2], H[m - 1], P[i]) <= EPS) m--;
    H[m++] = P[i];
  }
  m--;
  return m;
}
int main() {
  long long ans = 0ll;
  scanf("%d", &n);
  for (int i = 0; i < n; i++) P[i].read();
  n_h = convexhull(P, n, H);
  H[n_h++] = H[0];
  for (int i = 0; i < n_h - 1; i++)
    ans += (long long)max(abs(H[i].x - H[i + 1].x), abs(H[i].y - H[i + 1].y));
  printf("%I64d\n", ans + 4);
  return 0;
}
