#include<bits/stdc++.h>
using namespace std;
struct aa{
double x,y;
}coord[16];
double w[16][16];
double f[(1<<15)-1][16];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
double one,two;
cin>>one>>two;
coord[i].x=one;coord[i].y=two;
}
for(int i=1;i<=n;i++)
{
for(int j=i+1;j<=n;j++)
{
w[i][j]=w[j][i]=sqrt(pow(coord[i].x-coord[j].x,2)+pow(coord[i].y-coord[j].y,2));
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
for(int k=1;k<=n;k++)
{
w[i][j]=min(w[i][j],w[i][k]+w[k][j]);
}
}
}
for(int i=1;i<(1<<n);i++)
for(int j=1;j<=n;j++) f[i][j]=0xffffff;
f[1][1]=sqrt(pow(coord[1].x,2)+pow(coord[1].y,2));
for(int i=1;i<(1<<n);i++)
{
for(int j=1;j<=n;j++)
{
if(i>>j-1&1)
{
for(int k=1;k<=n;k++)
{
if(i-(1<<(j-1))>>(k-1)&1) f[i][j]=min(f[i][j],f[i-(1<<j-1)][k]+w[k][j]);
}
}
}
}
double minn=0xffffff;
for(int i=1;i<=n;i++)
{
minn=min(f[(1<<n)-1][i],minn);
}
printf("%.2f\n",minn);
}