import math
n = int(input())
a = []
f = [[float('inf')] * 34000 for _ in range(20)]
d = [[0.0] * 20 for _ in range(20)]
for i in range(n):
x, y = map(float, input().split())
a.append([x, y])
a.insert(0, [0, 0])
def distance(i, j):
return math.sqrt((a[i][0] - a[j][0]) ** 2 + (a[i][1] - a[j][1]) ** 2)
for i in range(n + 1):
for j in range(i + 1, n + 1):
d[i][j] = distance(i, j)
d[j][i] = d[i][j]
for i in range(1, n + 1):
f[i][1 << (i - 1)] = d[0][i]
for k in range(1, 1 << n):
for i in range(1, n + 1):
if (k & (1 << (i - 1))) == 0:
continue
for j in range(1, n + 1):
if (k & (1 << (j - 1))) == 0:
continue
if i == j:
continue
f[i][k] = min(f[i][k], f[j][k - (1 << (i - 1))] + d[i][j])
ans = float('inf')
for i in range(1, n + 1):
ans = min(ans, f[i][(1 << n) - 1])
print(f'{ans:.2f}')