import math
from collections import defaultdict

num_v = int(input().strip())
volc = [list(map(int, input().split())) for _ in range(num_v)]
# print(volc)

volc_d = defaultdict(lambda: [])
for v in volc:
    volc_d[v[0]].append(v[1])
# print(volc_d)
volc = [[y, [min(x), max(x)]] for y, x in volc_d.items()]
volc.sort(key=lambda x: x[0])
# print(volc)

solves = list(range(2 ** (1+len(volc))))

solves[0b10] = (volc[0][1][1] - volc[0][1][0])
solves[0b11] = (volc[0][1][1] - volc[0][1][0])
for i in range(4, 2 ** (1+len(volc))):
    leng = i.bit_length()-2
    locdist = (volc[leng][1][1] - volc[leng][1][0])
    solves[i] = solves[i >> 1] + (volc[leng][0] - volc[leng - 1][0]) + abs(volc[leng][1][i & 0b1] - volc[leng - 1][1][(i&0b10) >> 1]) + locdist

# for i in range(len(solves)):
#     print(f"{i:b}: {solves[i]}")

print(min(solves[2**(1+len(volc))-1:2**(1+len(volc))]))