#include <bits/stdc++.h>
using namespace std;
int n;
struct point {
  int x, y;
} p[100001];
bool cmpx(point a, point b) { return a.x < b.x; }
bool cmpy(point a, point b) { return a.y < b.y; }
int x[100001];
int y[100001];
int a[100001 * 2], b[100001 * 2];
int xmid, ymid;
int cnt;
int qwq[2][2];
long long calc() {
  long long qaq = 0;
  for (int i = 1; i <= n; i++) {
    qaq -= a[i];
    qaq -= b[i];
    qaq += a[i + n];
    qaq += b[i + n];
  }
  return qaq;
}
long long ans = 0;
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%d%d", &x[i], &y[i]);
    p[i].x = x[i];
    p[i].y = y[i];
    a[(i * 2) - 1] = a[i * 2] = x[i];
    b[(i * 2) - 1] = b[i * 2] = y[i];
  }
  sort(x + 1, x + n + 1);
  sort(y + 1, y + n + 1);
  xmid = x[(n + 2) / 2];
  ymid = y[(n + 2) / 2];
  for (int i = 1; i <= n; i++) {
    if (p[i].x == xmid && n % 2 == 1) {
      cnt++;
    } else if (p[i].y == ymid && n % 2 == 1) {
      cnt++;
    } else {
      int qwq1, qwq2;
      qwq1 = (p[i].x < xmid);
      qwq2 = (p[i].y < ymid);
      qwq[qwq1][qwq2]++;
    }
  }
  sort(a + 1, a + (n * 2) + 1);
  sort(b + 1, b + (n * 2) + 1);
  if ((cnt == 2 && n % 2 == 1) || (qwq[0][0] == 0 && qwq[1][1] == 0) ||
      (qwq[0][1] == 0 && qwq[1][0] == 0)) {
    ans = max(ans, calc());
  } else if (cnt == 0) {
    swap(a[n], a[n + 1]);
    ans = max(ans, calc());
    swap(a[n], a[n + 1]);
    swap(b[n], b[n + 1]);
    ans = max(ans, calc());
    swap(b[n], b[n + 1]);
  } else {
    swap(a[n], a[n + 2]);
    ans = max(ans, calc());
    swap(a[n], a[n + 2]);
    swap(a[n - 1], a[n + 1]);
    ans = max(ans, calc());
    swap(a[n - 1], a[n + 1]);
    swap(b[n], b[n + 2]);
    ans = max(ans, calc());
    swap(b[n], b[n + 2]);
    swap(b[n - 1], b[n + 1]);
    ans = max(ans, calc());
    swap(b[n - 1], b[n + 1]);
  }
  printf("%lld\n", ans);
  return 0;
}
