package code12.qualification;

import java.io.File;
import java.io.FileWriter;
import java.util.Scanner;

public class B {
	public static String solve(int N, int S, int p, int[] t) {
		
		// 3a 		-> (a, a, a), *(a - 1, a, a + 1)
		// 3a + 1	-> (a, a, a + 1), *(a - 1, a + 1, a + 1)
		// 3a + 2	-> (a, a + 1, a + 1), *(a, a, a + 2)
		
		int numPNoS = 0;
		int numPWithS = 0;
		
		for (int i = 0; i < N; i++) {
			int a = (int)Math.floor(t[i] / 3);
			int r = t[i] % 3;
			
			switch (r) {
			case 0:
				if (a >= p) {
					numPNoS++;
				} else if (a + 1 >= p && a - 1 >= 0) {
					numPWithS++;
				}
				break;
			case 1:
				if (a >= p || a + 1 >= p) {
					numPNoS++;
				}
				break;
			case 2:
				if (a >= p || a + 1 >= p) {
					numPNoS++;
				} else if (a + 2 >= p) {
					numPWithS++;
				}
				break;
			}
		}
		
		return "" + (numPNoS + Math.min(S, numPWithS));
	}

	public static void main(String[] args) throws Exception {
		// file name
		//String fileName = "Sample";
		//String fileName = "B-small";
		String fileName = "B-large";
		
		// file variable
		File inputFile = new File(fileName + ".in");
		File outputFile = new File(fileName + ".out");
		Scanner scanner = new Scanner(inputFile);
		FileWriter writer = new FileWriter(outputFile);

		// problem variable
		int totalCase;
		int N, S, p;
		int[] t;

		// get total case
		totalCase = scanner.nextInt();

		for (int caseIndex = 1; caseIndex <= totalCase; caseIndex++) {
			// get input
			N = scanner.nextInt();
			S = scanner.nextInt();
			p = scanner.nextInt();
			t = new int[N];
			
			for (int i = 0; i < N; i++) {
				t[i] = scanner.nextInt();
			}
			
			String output = "Case #" + caseIndex + ": " + solve(N, S, p, t);
			System.out.println(output);
			writer.write(output + "\n");
		}
		scanner.close();
		writer.close();
	}
}

// no.of users
// no. of sets
// minimum best
// scores 

import java.io.*;
import java.util.Scanner;
public class Goggler
{
public static void main(String args[])
{
 try{
  FileWriter fstream = new FileWriter("outB.out");
FileInputStream fstream1=new FileInputStream("B-large.in");
DataInputStream in=new DataInputStream(fstream1);
BufferedReader input=new BufferedReader(new InputStreamReader(in));
BufferedWriter out = new BufferedWriter(fstream);

String strLine;
strLine=input.readLine();
int T=Integer.parseInt(strLine);
int j=1;					
while(j<=T)
{
int N,S,P;
strLine=input.readLine();
String[] numbers=strLine.split(" ");
int nums[]=new int[numbers.length];
N=Integer.parseInt(numbers[0]);
S=Integer.parseInt(numbers[1]);
P=Integer.parseInt(numbers[2]);
int Score[]=new int[N];
int i=0;
for( i=0;i<N;i++){
				
Score[i]=Integer.parseInt(numbers[i+3]);
}

int Flag=0;

int avg;
int rem=0;
for(i=0;i<N;i++)
{
avg=Score[i]/3;
//System.out.print(avg);
rem=Score[i]%3;
//System.out.print(rem);
switch(rem)
{
case 0:
{
if(P<=avg)
Flag=Flag+1;
else if(P==avg+1&&S>0&&avg!=0)
{
S=S-1;
Flag=Flag+1;}
break;
}
case 1:
{
if(P<=avg+1)
Flag=Flag+1;
break;
}
case 2:
{
if(P<=avg+1)
Flag=Flag+1;
if(P==avg+2&&S>0)
{
S=S-1;
Flag=Flag+1;
}
break;
}

} //switch close
//System.out.println(Flag); 
}
//System.out.println(Flag);
out.write("Case #"+j+": "+Flag+"\r\n");
j=j+1;
}

out.close();
input.close();}catch (Exception e){//Catch exception if any
   System.err.println("Error: " + e.getMessage());
   }
}
}
