static int process(String line) {
		int n = 2 * Integer.parseInt(line.trim());
		if(n == 0)
			return 0;
		int[] x = new int[n];
		int[] y = new int[n];
		costm = new double[n][n];
		
		
		for (int i = 0; i < n; i++) {
			String[] str = readLine().trim().split(" ");
			x[i] = Integer.parseInt(str[1]);
			y[i] = Integer.parseInt(str[2]);
		}
		for (int i = 0; i < n; i++) {
			for(int j = 0; j < i; j++) {
				int d1 = x[i] - x[j], d2 = y[i] - y[j]; 
				costm[i][j] = costm[j][i]= Math.sqrt(d1*d1 + d2*d2);
			}
		}
		int lim = 1 << n, cnt = n/2;
		boolean[] vis = new boolean[lim];
		best = Double.MAX_VALUE;
		for(int i = 0; i < lim; i++) {
			if(vis[i])
				continue;
			int set = 0;
			for(int j = 0; j < n; j++) {
				if((i & (1 << j)) > 0) 
					set++;
			}
			if(set != cnt)
				continue;
			int o = 1 << n;
			o -= 1;
			o ^= i;
			vis[o] = vis[i] = true;
			best = Math.min(best, eval(i, o, n));
			
		}
		DecimalFormat decim = new DecimalFormat("0.00");
		out += "Case "+casen++ +": "+decim.format((double)Math.round(best * 100) / 100)+"\n";
		return 1;

	}