import java.util.Scanner;
import java.io.*;
class dance
{
  public static void main (String[] args) throws IOException
  { 
    File    inputData = new File("B-small-attempt0.in");
	File 	outputData= new File("Boutput.txt");
    Scanner scan = new Scanner( inputData );
	PrintStream print= new PrintStream(outputData);
    
	int t;
	int n,s,p,pi;
	t= scan.nextInt();
	for(int i=1;i<=t;i++)
	{
	n=scan.nextInt();	s=scan.nextInt();	p=scan.nextInt();
	int supTrip=0, notsupTrip=0;
	
	for(int j=0;j<n;j++)
	{
		pi=scan.nextInt();
		if(pi>(3*p-3))
		notsupTrip++;
		else if((pi>=(3*p-4))&&(pi<=(3*p-3))&&(pi>p))
		supTrip++;
	}
	
	if(s<=supTrip)
	notsupTrip=notsupTrip+s;
	else if(s>supTrip)
	notsupTrip= notsupTrip+supTrip;
	print.println("Case #"+i+": "+notsupTrip);
	}
  }
}
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class B {

    public static void main(String[] args) throws Throwable {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int numCases = Integer.parseInt(reader.readLine());

        for (int c = 1; c <= numCases; c++) {
            System.out.println("Case #" + c + ": " + solveCase(reader.readLine()));
        }
    }

    private static int solveCase(String line) {
        String[] tokens = line.split(" ");
        int numGooglers = Integer.parseInt(tokens[0]);
        int surprisingTriplets = Integer.parseInt(tokens[1]);
        int p = Integer.parseInt(tokens[2]);
        int[] results = new int[numGooglers];
        for (int i = 0; i < numGooglers; i++) {
            results[i] = Integer.parseInt(tokens[i + 3]);
        }

        int num = 0;

        for (int i = 0; i < numGooglers; i++) {
            int res = results[i];
            int lowestScore = res / 3;
            int highestScore = lowestScore;
            int remainder = res - lowestScore * 3;
            if (remainder > 0) {
                highestScore++;
            }
            if (highestScore >= p) {
                num++;
            } else if (surprisingTriplets > 0) {
                switch (remainder) {
                case 0: // 222 -> 123
                    if (lowestScore > 0 && highestScore + 1 >= p) {
                        num++;
                        surprisingTriplets--;
                    }
                    break;
                case 1: // 223 -> 133
                    if (lowestScore > 0 && highestScore >= p) {
                        num++;
                        surprisingTriplets--;
                    }
                    break;
                case 2: // 233 -> 224
                    if (highestScore + 1 >= p) {
                        num++;
                        surprisingTriplets--;
                    }
                    break;
                }
            }
        }
        return num;
    }
}
