#include <bits/stdc++.h>
using namespace std;
const int N = 3e5 + 10;
int a[N], b[N], n, dx, dy;
inline int read() {
  char c = getchar();
  int x = 0, f = 1;
  while ((c < '0' || c > '9') && c ^ '-') c = getchar();
  if (c == '-') f = -1, c = getchar();
  while (c >= '0' && c <= '9') {
    x = (x << 3) + (x << 1) + c - 48;
    c = getchar();
  }
  return x * f;
}
struct point {
  int x, y;
} x[N];
inline int jue(int x) { return x > 0 ? x : (-x); }
inline int min(int x, int y) { return x < y ? x : y; }
int main() {
  n = read();
  for (int i = 1; i <= n; i++) x[i].x = read(), x[i].y = read();
  for (int i = 1; i <= n; i++) a[i] = x[i].x, b[i] = x[i].y;
  sort(a + 1, a + n + 1);
  sort(b + 1, b + n + 1);
  int mid = (n + 1) / 2;
  dx = a[mid + 1] - a[mid];
  dy = b[mid + 1] - b[mid];
  if (n & 1)
    dx = min(dx, a[mid] - a[mid - 1]), dy = min(dy, b[mid] - b[mid - 1]);
  long long ans = 0;
  int k1 = 0, k2 = 0, k3 = 0;
  for (int i = 1; i <= n; i++) {
    ans += jue(a[mid] - a[i]) + jue(b[mid] - b[i]);
    if (x[i].x > a[mid] && x[i].y <= b[mid]) k1 = 1;
    if (x[i].x > a[mid] && x[i].y > b[mid]) k2 = 1;
    if (x[i].x == a[mid] && x[i].y == b[mid]) k3 = 1;
  }
  if ((n % 2 == 0 || k3) && k1 && k2) ans -= min(dx, dy);
  cout << (ans << 1) << "\n";
  return 0;
}
