// Arup Guha
// 9/16/2015
// Solution to 2014 December Bronze USACO Problem: Marathon

import java.util.*;
import java.io.*;

public class marathon {

    public static void main(String[] args) throws Exception {

        Scanner stdin = new Scanner(new File("marathon.in"));
        int n = stdin.nextInt();
        int[][] pts = new int[n][2];

        // Read in points.
        for (int i=0; i<n; i++) {
            pts[i][0] = stdin.nextInt();
            pts[i][1] = stdin.nextInt();
        }

        // Sum up distances.
        int total = 0;
        for (int i=1; i<n; i++)
            total += dist(pts[i], pts[i-1]);

        // Get biggest savings from skipping one segment.
        int max = 0;
        for (int i=0; i<n-2; i++)
            max = Math.max(max, dist(pts[i], pts[i+1]) + dist(pts[i+1], pts[i+2]) - dist(pts[i], pts[i+2]));

        // Write out the result.
        PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("marathon.out")));
        out.println(total-max);
        out.close();
        stdin.close();
    }

    public static int dist(int[] a, int[] b) {
        return Math.abs(a[0]-b[0]) + Math.abs(a[1]-b[1]);
    }

}
