1 int n,m,i,k,j,p;
2 main()
3 {
4 while(~scanf("%d",&n))
5 {
6 double x[n+1],y[n+1],d[n+1][n+1],w[n+1][n+1];
7 for(i=1;i<=n;i++)scanf("%lf%lf",&x[i],&y[i]);
8 for(i=1;i<=n;i++)for(j=1;j<=n;j++)
9 w[i][j]=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
10 d[2][1]=d[1][2]=w[2][1];
11 for(i=3;i<=n;i++)
12 for(j=1;j<i;j++)
13 {
14 if(i>j+1)d[i][j]=d[i-1][j]+w[i][i-1];
15 if(i==j+1)
16 {
17 d[i][j]=d[j][1]+w[i][1];
18 for(k=1;k<=i-2;k++)d[i][j]=d[i][j]<d[j][k]+w[i][k]?d[i][j]:d[j][k]+w[i][k];
19 }
20 }
21 d[n][n]=d[n][1]+w[n][1];
22 for(k=1;k<=n-1;k++)d[n][n]=d[n][n]<d[n][k]+w[n][k]?d[n][n]:d[n][k]+w[n][k];
23 printf("%.2lf\n",d[n][n]);
24 }
25 }