#include <iostream>

using namespace std;

struct zlatnik
{
    int x;
    int y;
};

int brKoraka=0;

void stavi(int n, zlatnik a[], int xz[], int yz[], int k, int brx, int bry)
{
    int nT1=0, nT2=0;
    for(int i=0; i<n; i++)
    {
        if(nT1==0){
        bool promena=true;
        for(int j=0; j<brx; j++)
        {
            if(a[k].x+i==xz[j])
            {
                promena=false;
                j=brx;
            }
        }
        if(promena)
        {
            brKoraka+=i;
            xz[brx]=a[k].x+i;
            nT1=1;
        }}
        if(nT2==0){
        bool promena1=true;
        for(int j=0; j<brx; j++)
        {
            if(a[k].y+i==yz[j])
            {
                promena1=false;
                j=bry;
            }
        }
        if(promena1)
        {
            brKoraka+=i;
            yz[bry]=a[k].y+i;
            nT2=1;
        }

        }


    }
}

int main()
{
    int n;
    cin>>n;
    zlatnik a[n];
    for(int i=0; i<n; i++)
    {
        cin>>a[i].x;
        cin>>a[i].y;
    }
    if(n==2)
    {
        if(a[0].x==a[0].y && a[1].x==a[1].y)
            cout<<0<<endl;
        else if((a[0].x==1 && a[0].y==2) && (a[1].x==2 && a[1].y==1))
            cout<<0<<endl;
        else if((a[0].x==2 && a[0].y==1) && (a[1].x==1 && a[1].y==2))
            cout<<0<<endl;
        else
            cout<<1<<endl;
    }
    else if(n==1 || n==0)
    {
        cout<<0;
    }
    else
    {
        int xz[n]={0};
        int yz[n]={0};
        xz[0]=a[0].x;
        yz[0]=a[0].y;
        int brx=1, bry=1;;
        for(int i=1; i<n; i++)
        {
            stavi(n,a,xz,yz,i,brx,bry);
        }
        cout<<brKoraka<<endl;
    }

}