import java.io.BufferedInputStream;
import java.util.Scanner;
class position{
int x;
int y;
public position(int x,int y){
this.x = x;
this.y = y;
}
}
public class P1433 {
static int N = 20;
static int n;
static position[] cs = new position[N];
static boolean[] st = new boolean[N];
static double min = 0x3f3f3f3f;
static void dfs(int lx,int ly,int k,double d){
if(d > min)
return;
if(k == n){
min = Math.min(min,d);
return;
}
for(int i = 0;i < n;i ++){
if(!st[i]){
int nx = cs[i].x;
int ny = cs[i].y;
double distance = Math.sqrt(Math.pow(lx - nx,2) + Math.pow(ly - ny,2));
st[i] = true;
dfs(nx,ny,k + 1,d + distance);
st[i] = false;
}
}
}
public static void main(String[] args){
Scanner sc = new Scanner(new BufferedInputStream(System.in));
n = sc.nextInt();
for(int i = 0;i < n;i ++){
int x = sc.nextInt();
int y = sc.nextInt();
cs[i] = new position(x,y);
}
dfs(0,0,0,0);
System.out.printf("%.2f",min);
}
}