#include <bits/stdc++.h>
using namespace std;
long long quick_pow(long long a, long long b, long long mod) {
  long long ans = 1, base = a;
  while (b) {
    if (b & 1) (ans *= base) %= mod;
    b >>= 1;
    (base *= base) %= mod;
  }
  return ans;
}
struct node {
  int pos, len;
  bool operator<(const node& k) const { return pos < k.pos; }
};
const int N = 1e5 + 5;
int X[N], Y[N];
int A[N], B[N];
int main() {
  int n, m;
  scanf("%d", &n);
  for (int i = 1; i <= n; ++i) {
    scanf("%d %d", &X[i], &Y[i]);
    A[i] = X[i];
    B[i] = Y[i];
  }
  sort(X + 1, X + n + 1);
  sort(Y + 1, Y + n + 1);
  m = (n + 1) >> 1;
  int mid_x = X[m], mid_y = Y[m];
  int dif_x = X[m + 1] - X[m], dif_y = Y[m + 1] - Y[m];
  if (n & 1) {
    dif_x = min(dif_x, X[m] - X[m - 1]);
    dif_y = min(dif_y, Y[m] - Y[m - 1]);
  }
  long long ans = 0;
  bool F0 = false, F1 = false, Tag = false;
  for (int i = 1; i <= n; ++i) {
    ans += abs(X[i] - X[m]) + abs(Y[i] - Y[m]);
    F0 |= A[i] > mid_x && B[i] > mid_y;
    F1 |= A[i] > mid_x && B[i] <= mid_y;
    Tag |= A[i] == mid_x && B[i] == mid_y;
  }
  if (F0 && F1 && (~n & 1 || Tag)) ans -= min(dif_x, dif_y);
  printf("%I64d\n", ans << 1);
  return 0;
}
