import sys
input=lambda:sys.stdin.readline()
n = int(input())
F = [[9999999]*(1<<n) for _ in range(n+1)]
def distance(i, j):
return ((x[i]-x[j])**2+(y[i]-y[j])**2)**(0.5)
x = [0.0]*(n+1)
y = [0.0]*(n+1)
for i in range(1, n+1):
x[i], y[i] = map(float, input().split())
dis_mat = [[0.0]*(n+1) for _ in range(n+1)]
for i in range(n+1):
for j in range(i+1, n+1):
dis_mat[i][j] = distance(i,j)
dis_mat[j][i] = dis_mat[i][j]
for i in range(1, n+1):
F[i][1<<(i-1)] = dis_mat[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 i==j or (k&(1<<(j-1)))==0:
continue
F[i][k] = min(F[i][k], F[j][k-(1<<(i-1))]+dis_mat[i][j])
ans = min(F[i][(1<<n)-1] for i in range(1, n+1))
print("{:.2f}".format(ans))