#include <bits/stdc++.h>
using namespace std;
struct point {
  int x, y;
};
point pt[110000];
int m, ms, x[110000], y[110000], n, mp, lx, rx, ly, ry;
long long ans;
bool kao;
int main() {
  int i, j, s, p, q, id1, id2, ip1, ip2;
  scanf("%d", &n);
  for (i = 0; i < n; i++) {
    scanf("%d%d", &pt[i].x, &pt[i].y);
    x[i] = pt[i].x;
    y[i] = pt[i].y;
  }
  sort(x, x + n);
  sort(y, y + n);
  m = (n - 1) / 2;
  mp = (n + 1) / 2;
  if (n % 2) m = mp = (n - 1) / 2;
  ans = 0;
  kao = true;
  int n1 = 0, n2 = 0, n3 = 0, n4 = 0, nk1 = 0, nk2 = 0, np1, np2;
  bool you = false;
  for (i = 0; i < n; i++) {
    ans += abs(x[i] - x[m]);
    ans += abs(y[i] - y[m]);
    if (pt[i].x == x[m] && pt[i].y == y[m] && n % 2) you = true;
    if ((pt[i].x <= x[m] && pt[i].y <= y[m]) ||
        (pt[i].x >= x[mp] && pt[i].y >= y[mp]))
      n1++;
    else
      n2++;
    if (n % 2 && n1 != n && n2 != n) {
      if (pt[i].x == x[m]) {
        if (pt[i].y < y[m]) n2--;
        if (pt[i].y > y[m]) n1--;
      }
      if (pt[i].y == y[m]) {
        if (pt[i].x < x[m]) n2--;
        if (pt[i].x > x[m]) n1--;
      }
    }
  }
  if (you && n % 2) n2++;
  kao = ((n1 == n) || (n2 == n));
  if (!you && n % 2) kao = true;
  if (!kao) {
    ms = 1000000000;
    for (i = 0; i < n; i++) {
      if (i == m) continue;
      if (n % 2 == 0 && (m + 1 <= n / 2.0 && (i + 1) <= n / 2.0)) continue;
      ms = min(ms, abs(x[m] - x[i]));
      ms = min(ms, abs(y[m] - y[i]));
    }
    ans -= ms;
  }
  ans *= 2;
  printf("%I64d\n", ans);
  return 0;
}
