rt
#include<bits/stdc++.h>
#define itn int
#define it int
using namespace std;
const int N=205;
int n;
double dp[18][34005],x[N],y[N],a[N][N],ans;
double dis(int i,int j){
double x1=x[i]-x[j];
double y1=y[i]-y[j];
return sqrt(x1*x1+y1*y1);
}
int main(){
scanf("%d",&n);
memset(dp,127,sizeof dp);
ans=dp[0][0];
for(int i=1;i<=n;i++){
scanf("%lf%lf",&x[i],&y[i]);
}
x[0]=0,y[0]=0;
for(itn i=0;i<=n;i++){
for(int j=i+1;j<=n;j++){
a[i][j]=dis(i,j);
a[j][i]=a[i][j];
}
}
for(int i=1;i<=n;i++){
dp[i][(1<<(i-1))]=a[0][i];
}
for(int i=1;i<(1<<n);i++){
for(int j=1;j<=n;j++){
if(i&(1<<(j-1))==0){
continue;
}
for(itn k=1;i<=n;k++){
if(j==k){
continue;
}
if(i&(1<<(k-1))==0){
continue;
}
dp[j][i]=min(dp[j][i],dp[k][i-(1<<(j-1))]+a[j][k]);
}
}
}
for(itn i=1;i<=n;i++){
ans=min(ans,dp[i][(1<<n)-1]);
}
printf("%.2f\n",ans);
return 0;
}