import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;


public class GooglersDancer {

	/**
	 * @param args
	 * @throws IOException
	 */
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		InputStreamReader converter = new InputStreamReader(System.in);
		BufferedReader in = new BufferedReader(converter);
		if (in == null) {
		      return;
		    }
		String numTest = in.readLine();
		int maxCases = Integer.valueOf(numTest);
		for(int i=1;i<= maxCases;i++){
			String linea = in.readLine();
			String[] datos = linea.split(" ");
			Integer googlers = Integer.valueOf(datos[0]);
			Integer sospechosos = Integer.valueOf(datos[1]);
			Integer p = Integer.valueOf(datos[2]);
			Integer puntuacion;
			Integer personas = 0;
			ArrayList<Integer> puntuaciones = new ArrayList<Integer>();
			for(int j=0;j<googlers;j++){
				puntuacion = Integer.valueOf(datos[3+j]);
				puntuaciones.add(puntuacion);
			}
			Integer[] pOrdenado = null;
			pOrdenado = (Integer[]) puntuaciones.toArray(new Integer[puntuaciones.size()]);
			Arrays.sort(pOrdenado);
			int j;
			for(j=pOrdenado.length-1;j>=0;j--){
				if(pOrdenado[j] >= p*3-2){
					personas += 1;
				}else{
					break;
				}
			}
			int posibles = j+1-sospechosos;
			for(;j>=posibles && j>= 0;j--){
				if(pOrdenado[j] >= p*3-4 && pOrdenado[j] > p){
					personas += 1;
				}else{
					break;
				}
			}
			System.out.println("Case #"+i+": "+personas);
		}
	}

}

/*******************************************************************************
 * Copyright (c) 2012 by Institute of Computing Technology,
 * 		Chinese Academic of Sciences, Beijing, China.
 *
 * 	Author: Ruijian Wang
 * 	  File: B.java
 * 	  Date: 2012-04-14
 * 	  Time: 13:29:55
 ******************************************************************************/

package gcj12;

import java.util.Scanner;

/**
 * Todo.
 * <p/>
 * User: Ruijian Wang
 * Date: 4/14/12
 * Time: 1:29 PM
 *
 * @author Ruijian Wang<br>
 * @version 1.0.0 2012-04-14<br>
 */
public class B {
    void solve() {
        int tCase, n, s, p;
        Scanner scan = new Scanner(System.in);
        tCase=scan.nextInt();
        for (int i = 1; i <= tCase; i++) {
            int num = 0;
            n = scan.nextInt();
            s = scan.nextInt();
            p = scan.nextInt();
            int t;
            for (int j = 0; j < n; j++) {
                t = scan.nextInt();
                int m = t % 3;
                int max = -1;
                if (m == 1) {
                    max = t / 3 + 1;
                    if (max >= p) {
                        num ++;
                    }
                } else if (m == 2) {
                    max = t / 3 + 1;
                    if (max >= p) {
                        num ++;
                    } else if (s > 0 && max + 1 >= p) {
                        s--;
                        num++;
                    }
                } else {
                    max = t / 3;
                    if (max >= p) {
                        num++;
                    } else if (s > 0 && t >= 3 && max + 1 >= p) {
                        s--;
                        num++;
                    }
                }
            }
            System.out.println("Case #" + i + ": " + num);
        }
    }

    public static void main(String[] args) {
        new B().solve();
    }
}
