#include <bits/stdc++.h>
using namespace std;
const int inf = ~0U >> 1;
const long long INF = ~0ULL >> 1;
template <class T>
inline void read(T &n) {
  char c;
  for (c = getchar(); !(c >= '0' && c <= '9'); c = getchar())
    ;
  n = c - '0';
  for (c = getchar(); c >= '0' && c <= '9'; c = getchar()) n = n * 10 + c - '0';
}
int Pow(int base, int n, int mo) {
  if (n == 0) return 1;
  if (n == 1) return base % mo;
  int tmp = Pow(base, n >> 1, mo);
  tmp = (long long)tmp * tmp % mo;
  if (n & 1) tmp = (long long)tmp * base % mo;
  return tmp;
}
const int maxn = 120000;
int N, px[maxn], py[maxn], vis[2][2];
pair<int, int> A[maxn];
long long ans;
int main() {
  scanf("%d", &N);
  for (int i = (1); i <= (N); ++i) {
    scanf("%d%d", &A[i].first, &A[i].second);
    px[i] = A[i].first;
    py[i] = A[i].second;
  }
  sort(px + 1, px + N + 1);
  sort(py + 1, py + N + 1);
  int mid = (N + 1) >> 1;
  int dx = px[mid + 1] - px[mid];
  int dy = py[mid + 1] - py[mid];
  if (N & 1) {
    dx = min(dx, px[mid] - px[mid - 1]);
    dy = min(dy, py[mid] - py[mid - 1]);
  }
  int flag = 0;
  for (int i = (1); i <= (N); ++i) {
    ans += abs(A[i].first - px[mid]) + abs(A[i].second - py[mid]);
    vis[A[i].first <= px[mid]][A[i].second <= py[mid]]++;
    if (A[i].first == px[mid] && A[i].second == py[mid]) flag = 1;
  }
  if (vis[0][0] && vis[0][1] && vis[1][0] && vis[1][1] && (N % 2 == 0 || flag))
    ans -= min(dx, dy);
  printf("%lld\n", ans << 1);
  return 0;
}
