// Arup Guha
// 5/11/2021
// Solution to 2021 Code Jam Round 1C Problem A: Closest Pick

import java.util.*;

public class Solution {

	public static void main(String[] args) {
	
		Scanner stdin = new Scanner(System.in);
		int nC = stdin.nextInt();
		
		// Process cses.
		for (int loop=1; loop<=nC; loop++) {
			
			// Read and sort data.
			int n = stdin.nextInt();
			int k = stdin.nextInt();
			int[] arr = new int[n];
			for (int i=0; i<n; i++)
				arr[i] = stdin.nextInt();
			Arrays.sort(arr);
			
			// Here we store # of ways we win if we pick 2 numbers in each gap.
			int[] winBothIn = new int[n+1];
			
			// Here we pick how many ways we win if we store 1 number in each gap.
			int[] win = new int[n+1];
			
			// This is what we get here. It's never optimal to put 2 in either of these so I skip it.
			win[0] = arr[0]-1;
			win[n] = k-arr[n-1];
			
			// Fill in the rest.
			for (int i=1; i<n; i++) {
				
				// Nothing.
				if (arr[i]-arr[i-1] <= 1) continue;
				
				// Here is how many numbers you win if you play 1 or 2.
				win[i] = (arr[i]-arr[i-1])/2;
				winBothIn[i] = arr[i]-arr[i-1]-1;
			}
			
			// Sort both.
			Arrays.sort(win);
			Arrays.sort(winBothIn);
			
			// You can take 2 from win or just 1 from winBoth.
			int num = Math.max(win[n]+win[n-1], winBothIn[n]);
			double prob = num*1.0/k;
			
			// Here is the corresponding best probability.
			System.out.println("Case #"+loop+": "+prob);
		}
	}
}