#include <bits/stdc++.h>
using namespace std;
#define F first
#define S second
typedef pair<double,double> P;
double D(P a, P b){return sqrt((a.F-b.F)*(a.F-b.F)+(a.S-b.S)*(a.S-b.S));}

int main() {
  int n,tt=1;
  while(cin >> n && n) {
    P a[n][2];
    for(int i=0; i<n; i++) {
      for(int j=0; j<2; j++) cin >> a[i][j].F >> a[i][j].S;
    }
    double dp[1<<n][n][2];
    for(int t=0;t<(1<<n);t++)for(int i=0;i<n;i++)for(int j=0;j<2;j++)dp[t][i][j]=1<<29;
    for(int i=0; i<n; i++) {
      for(int j=0; j<2; j++) dp[1<<i][i][j]=D(a[i][0],a[i][1]);
    }
    for(int t=0; t<(1<<n); t++) {
      for(int i=0; i<n; i++) {
        if(!(t&(1<<i))) continue;
        for(int j=0; j<2; j++) {
          for(int k=0; k<n; k++) {
            if(t&(1<<k)) continue;
            for(int l=0; l<2; l++) {
              dp[t|(1<<k)][k][l^1]=min(dp[t|(1<<k)][k][l^1],dp[t][i][j]+D(a[i][j],a[k][l])+D(a[k][0],a[k][1]));
            }
          }
        }
      }
    }
    double ans=1<<29;
    for(int i=0; i<n; i++)for(int j=0; j<2; j++) ans=min(ans,dp[(1<<n)-1][i][j]);
    cout << "Case " << tt++ << ": ";
    printf("%.10f\n",ans);
  }
  return 0;
}