#include <bits/stdc++.h>

using namespace std;

struct novcic
{
	int r;
	int c;
};

novcic niz1[100005];
novcic niz2[100005];

void merge_po_r(novcic *a,int l,int m,int r)
{
	int k1=m-l+1,k2=r-m,i,j,k;
	for(i=0;i<k1;i++) niz1[i]=a[l+i];
	for(i=0;i<k2;i++) niz2[i]=a[m+1+i];
	i=0;j=0,k=l;
	while(i<k1 && j<k2)
	{
		if(niz1[i].r<niz2[j].r)
		{
			a[k]=niz1[i];
			i++;
			k++;
		}
		else
		{
			a[k]=niz2[j];
			j++;
			k++;
		}
	}
	while(i<k1)
	{
		a[k]=niz1[i];
		i++;
		k++;
	}
	while(j<k2)
	{
		a[k]=niz2[j];
		j++;
		k++;
	}
}

void merge_sort_po_r(novcic *a,int l,int r)
{
	if(l>=r)
	{
		return ;
	}
	merge_sort_po_r(a,l,(l+r)/2);
	merge_sort_po_r(a,(l+r)/2+1,r);
	merge_po_r(a,l,(l+r)/2,r);
}

void merge_po_c(novcic *a,int l,int m,int r)
{
	int k1=m-l+1,k2=r-m,i,j,k;
	for(i=0;i<k1;i++) niz1[i]=a[l+i];
	for(i=0;i<k2;i++) niz2[i]=a[m+1+i];
	i=0;j=0,k=l;
	while(i<k1 && j<k2)
	{
		if(niz1[i].c<niz2[j].c)
		{
			a[k]=niz1[i];
			i++;
			k++;
		}
		else
		{
			a[k]=niz2[j];
			j++;
			k++;
		}
	}
	while(i<k1)
	{
		a[k]=niz1[i];
		i++;
		k++;
	}
	while(j<k2)
	{
		a[k]=niz2[j];
		j++;
		k++;
	}
}

void merge_sort_po_c(novcic *a,int l,int r)
{
	if(l>=r)
	{
		return ;
	}
	merge_sort_po_c(a,l,(l+r)/2);
	merge_sort_po_c(a,(l+r)/2+1,r);
	merge_po_c(a,l,(l+r)/2,r);
}

int abs_int(int x)
{
	if(x>=0) return x;
	else return -x;
}

int main(int argc, char** argv) 
{
	novcic niz[200005];
	int n,i,R=0,C=0;
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cin>>n;
	for(i=0;i<n;i++)
	{
		cin>>niz[i].r>>niz[i].c;
	}
	merge_sort_po_r(niz,0,n-1);
	for(i=0;i<n;i++) R=R+abs_int(i+1-niz[i].r);
	merge_sort_po_c(niz,0,n-1);
	for(i=0;i<n;i++) C=C+abs_int(i+1-niz[i].c);
	if(R>C) cout<<R<<endl;
	else cout<<C<<endl;
	return 0;
}