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);
	}
  }
}
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package codejam2;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/**
 *
 * @author Albatross
 */
public class Main {

    
    public static void main(String[] args) throws FileNotFoundException, IOException {

        String final_output="";

        try{
            FileReader input = new FileReader("Input.txt");
            BufferedReader bufRead = new BufferedReader(input);
            String line;
            line = bufRead.readLine();
            int testCases = Integer.parseInt(line);

            
            for (int i=0; i<testCases; i++)
            {
                line = bufRead.readLine();
                String[] numbers = line.split(" ");
                int Googlers = Integer.parseInt(numbers[0]);
                int Surprising = Integer.parseInt(numbers[1]);
                int Limit = Integer.parseInt(numbers[2]);

                int[] GooglerPoints = new int[Googlers];

                for (int j=0; j<Googlers; j++)
                {
                    GooglerPoints[j] = Integer.parseInt(numbers[3+j]);
                }

                int LimitPass = 0;

                for (int x : GooglerPoints)
                {
                    double minNum = Math.floor(x/3);
                    double remPts = x - (3*minNum);
                    if (minNum>=Limit)
                        LimitPass++;
                    else if (remPts!=0 && minNum+1>=Limit)
                        LimitPass++;
                    else if (Surprising!=0)
                    {
                        if(remPts==2 && minNum+2>=Limit){
                            LimitPass++;
                            Surprising--;
                        }
                        else if(remPts==0 && minNum+1>=Limit && minNum!=0){
                            LimitPass++;
                            Surprising--;
                        }
                    }
                }
                final_output = final_output+"Case #"+(i+1)+": "+LimitPass+"\n";

            }
            bufRead.close();
        }
        finally{

        }

        FileWriter output_file = new FileWriter("Output.txt");
        BufferedWriter bufWrite = new BufferedWriter(output_file);
        try{

            bufWrite.write(final_output);
        }
        finally{
            bufWrite.close();
        }

    }

}
