RT
#include <bits/stdc++.h>
using namespace std;
int n;
double x[30],y[30];
double f[1<<16][16];
double dis(int i,int j){
return sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
}
int main(){
cin>>n;
n+=1;
x[1] = 0;
y[1] = 0;
for(int i = 2;i<=n;i++){
cin>>x[i]>>y[i];
}
for(int i = 0;i<1<<16;i++){
for(int j = 1;j<=n;j++){
f[i][j] = 0x3f3f3f3f3f;
}
}
f[0][0] = 0;
for(int i = 1;i<=n;i++){
f[1<<(i-1)][i] = dis(1,i);
}
for(int i = 0;i<1<<16;i++){
for(int j = 1;j<=n;j++){
for(int k = 1;k<=n;k++){
if((i&(1<<(j-1)))&&((i-(1<<(j-1)))&k)){
f[i][j] = min(f[i][j],f[i-(1<<(j-1))][k]+dis(k,j));
}
}
}
}
double ans = 0x3f3f3f3f;
for(int i = 1;i<=n;i++){
ans = min(ans,f[(1<<n)-1][i]);
}
printf("%.2f",ans);
return 0;
}