#定数
INF=1000000

#入力
N=int(input())
xy=[[int(j) for j in input().split()] for i in range(N)]

#index0の町からの連結部分と、連結していないところ
linked=[0]
noLink=[i for i in range(1,N)]

#所要金額
ans=0

#index0の町から連結していきます
#(新しい街を連結していけばN-1回の連結で終了)
for roop in range(N-1):
	#連結に必要な最低金額と街
	minMoney=INF
	minCity=INF

	#まず、linked側から１つ
	for wasCity in linked:
		#noLinkから1つ
		for newCity in noLink:
			#金額が最小のときにデータ更新
			money = min(abs(xy[wasCity][0]-xy[newCity][0]),abs(xy[wasCity][1]-xy[newCity][1]))
			if money<minMoney:
				minMoney=money
				minCity=newCity
	#1週終わったら、最小を連結
	ans+=minMoney
	linked.append(minCity)
	noLink.remove(minCity)

print(ans)