#include <iostream>
#include <complex>
#include <cmath>
#include <iomanip>
using namespace std;
complex<double> A[16];
int n;
bool vis[16];
double ans = INFINITY;
void DFS(int x, double s, int cnt)
{
if (s > ans)
return;
if (cnt == n)
{
ans = min(ans, s);
return;
}
for (int i = 1; i <= n; i++)
{
if (!vis[i])
{
vis[i] = true;
DFS(i, s + abs(A[i] - A[x]), cnt + 1);
vis[i] = false;
}
}
}
int main()
{
cin >> n;
for (int i = 1; i <= n; i++)
{
double real, imag;
cin >> real >> imag;
A[i] = {real, imag};
}
DFS(0, 0, 0);
cout << fixed << setprecision(2) << ans << flush;
return 0;
}