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.util.StringTokenizer;


public class B {

	public int solve(String input){
		int result=0;
		StringTokenizer st=new StringTokenizer(input, " \n");
		int n=Integer.parseInt(st.nextToken());
		int s=Integer.parseInt(st.nextToken());
		int p=Integer.parseInt(st.nextToken());
		int maxThres=0;
		int minThres=0;
		if(p>1){		
		 maxThres=(p-1)*3+1;
		 minThres=(p-2)*3+2;
		}else{
			maxThres=p;
			minThres=p;
		}
		while(st.hasMoreTokens()){
			int num=Integer.parseInt(st.nextToken());
			if(num>=maxThres){
				result++;
				continue;
			}
			if(num>=minThres && num<maxThres && s>0){
				result++;
				s--;
			}
		}
		
		return result;
	}
	public static void main(String[] args) {
		IOHelper io=new IOHelper("C:\\skill\\workspace\\cj2012\\src\\B-small-attempt1.in",
		"C:\\skill\\workspace\\cj2012\\src\\B-small-attempt1.out");
		int countOfTest=Integer.parseInt(io.readLine());
		B b=new B();
		for(int i=0;i<countOfTest;i++){
			String s=io.readLine();
			int solution= b.solve(s);
			String output="Case #"+(i+1)+": "+solution;
			io.writeLine(output);
		}
		

	}

}
