#include <iostream>

using namespace std;

int s = 0;

int proveraLevo(int dim[], int N, int poz){
    for (int i = poz - 1; i >= 0; --i){
        if (dim[i] == 0)
            return poz - i;
    }
    return 0;
}

int proveraDesno(int dim[], int N, int poz){
    for (int i = poz + 1; i < N; ++i){
        if (dim[i] == 0)
            return i - poz;
    }
    return 0;
}

/**
    1 - po i
    2 - po j
*/
void doTheJob(int **tabla, int N, int pa){
    int dim[N];
    for (int i = 0; i < N; ++i)
        dim[i] = 0;
    for (int i = 0; i < N; ++i)
        for (int j = 0; j < N; ++j)
            if (tabla[i][j] == 1){
                if (pa == 1)
                    dim[i]++;
                else
                    dim[j]++;
            }

    int levo[N];
    int desno[N];
    int poz;
    int vred;
    int ld; /// 1 - levo, 2 - desno
    while (true){
        poz = -1;
        vred = 0;

        for (int i = 0; i < N; ++i){
            levo[i] = 0;
            desno[i] = 0;

            if (dim[i] > 1){
                levo[i] = proveraLevo(dim, N, i);
                desno[i] = proveraDesno(dim, N, i);
            }

            if ((levo[i] < vred && levo[i] != 0) || (poz == -1 && levo[i] != 0)){
                poz = i;
                vred = levo[i];
                ld = 1;
            }

            if ((desno[i] < vred && desno[i] != 0) || (poz == -1 && desno[i] != 0)){
                poz = i;
                vred = desno[i];
                ld = 2;
            }
        }


        if (poz == -1)
            break;

        if (ld == 1){
            dim[poz]--;
            dim[poz - vred]++;
            s += vred;
        } else {
            dim[poz]--;
            dim[poz + vred]++;
            s += vred;
        }

    }
}

int main()
{
    int N;
    int ri, ci;
    cin >> N;
    int **tabla;
    tabla = new int *[N];
    for (int i = 0; i < N; ++i)
        tabla[i] = new int[N];

    for (int i = 0; i < N; ++i)
        for (int j = 0; j < N; ++j)
            tabla[i][j] = 0;
    for (int i = 0; i < N; ++i){
        cin >> ri >> ci;
        tabla[ri-1][ci-1] = 1;
    }

    doTheJob(tabla, N, 1);
    doTheJob(tabla, N, 2);

    cout << s;

    for (int i = 0; i < N; ++i)
        delete[] tabla[i];
    delete[] tabla;

    return 0;
}