#include <bits/stdc++.h>
using namespace std;
int x[15],y[15],a[15];
bool vis[15];
double minn = 7.41;
int n;
double distance(int q1,int q2,int w1,int w2)
{
return sqrt((q1 - q2) * (q1 - q2) + (w1 - w2) * (w1 - w2));
}
void dfs(int step)
{
if(step > n)
{
double ans = distance(0,0,x[a[1]],y[a[1]]);
for(int i = 2;i <= n;i++)
{
ans += distance(x[a[i-1]],y[a[i-1]],x[a[i]],y[a[i]]);
}
minn = min(minn,ans);
return;
}
for(int i = 1;i <= n;i++)
{
if(vis[i]) continue;
vis[i] = true;
a[step] = i;
dfs(step+1);
vis[i] = false;
}
}
int main()
{
cin >> n;
for(int i = 1;i <= n;i++) cin >> x[i] >> y[i];
//cout << distance(0,0,x[1],y[1]) << endl;
cout << fixed << setprecision(2) << minn << endl;
return 0;
}
rt.