TSP
#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
double dp[101][101];
int x[101],y[101];
double ok(int s,int t){
return sqrt(1.*(x[s]-x[t])*(x[s]-x[t])+(y[s]-y[t])*(y[s]-y[t]));
}
int n;
void read(){
// ifstream cin("in.txt");
int i,j,k;
while(cin>>n)
{
for(i=1;i<=n;i++)
cin>>x[i]>>y[i];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
dp[i][j]=100000000;
dp[2][1]=ok(1,2);
for(i=2;i<n;i++)
for(j=1;j<i;j++)
{
dp[i+1][j]=min(dp[i+1][j],dp[i][j]+ok(i,i+1));
dp[i+1][i]=min(dp[i+1][i],dp[i][j]+ok(j,i+1));
}
double t=100000000;
for(i=1;i<n;i++)
t=min(t,dp[n][i]+ok(i,n));
printf("%.2lf\n",t);
}
}
int main(){
read();
return 0;
}