package com.gcj.parser;

public class MaxPoints {

	public static int normal(int value){
		int toReturn = 0;
		switch (value) {
		case 0 : toReturn = 0 ; break;
		case 1 : toReturn = 1 ; break;
		case 2 : toReturn = 1 ; break;
		case 3 : toReturn = 1 ; break;
		case 4 : toReturn = 2 ; break;
		case 5 : toReturn = 2 ; break;
		case 6 : toReturn = 2 ; break;
		case 7 : toReturn = 3 ; break;
		case 8 : toReturn = 3 ; break;
		case 9 : toReturn = 3 ; break;
		case 10 : toReturn = 4 ; break;
		case 11 : toReturn = 4 ; break;
		case 12 : toReturn = 4 ; break;
		case 13 : toReturn = 5 ; break;
		case 14 : toReturn = 5 ; break;
		case 15 : toReturn = 5 ; break;
		case 16 : toReturn = 6 ; break;
		case 17 : toReturn = 6 ; break;
		case 18 : toReturn = 6 ; break;
		case 19 : toReturn = 7 ; break;
		case 20 : toReturn = 7 ; break;
		case 21 : toReturn = 7 ; break;
		case 22 : toReturn = 8 ; break;
		case 23 : toReturn = 8 ; break;
		case 24 : toReturn = 8 ; break;
		case 25 : toReturn = 9 ; break;
		case 26 : toReturn = 9 ; break;
		case 27 : toReturn = 9 ; break;
		case 28 : toReturn = 10 ; break;
		case 29 : toReturn = 10 ; break;
		case 30 : toReturn = 10 ; break;

		}

		return toReturn;
	}

	public static int surprising(int value){
		int toReturn = 0;
		switch (value) {
		case 0 : toReturn = 0 ; break;
		case 1 : toReturn = 1 ; break;
		case 2 : toReturn = 2 ; break;
		case 3 : toReturn = 2 ; break;
		case 4 : toReturn = 2 ; break;
		case 5 : toReturn = 3 ; break;
		case 6 : toReturn = 3 ; break;
		case 7 : toReturn = 3 ; break;
		case 8 : toReturn = 4 ; break;
		case 9 : toReturn = 4 ; break;
		case 10 : toReturn = 4 ; break;
		case 11 : toReturn = 5 ; break;
		case 12 : toReturn = 5 ; break;
		case 13 : toReturn = 5 ; break;
		case 14 : toReturn = 6 ; break;
		case 15 : toReturn = 6 ; break;
		case 16 : toReturn = 6 ; break;
		case 17 : toReturn = 7 ; break;
		case 18 : toReturn = 7 ; break;
		case 19 : toReturn = 7 ; break;
		case 20 : toReturn = 8 ; break;
		case 21 : toReturn = 8 ; break;
		case 22 : toReturn = 8 ; break;
		case 23 : toReturn = 9 ; break;
		case 24 : toReturn = 9 ; break;
		case 25 : toReturn = 9 ; break;
		case 26 : toReturn = 10 ; break;
		case 27 : toReturn = 10 ; break;
		case 28 : toReturn = 10 ; break;
		case 29 : toReturn = 10 ; break;
		case 30 : toReturn = 10 ; break;

		}
		return toReturn;
	}

}


package code_jam;

import java.io.*;
import java.util.Arrays;
import java.util.StringTokenizer;

public class Code_Jam {

	
	public static void main(String[] args) throws IOException {
		
		
		BufferedReader in = new BufferedReader(new FileReader("B-large.in"));
		FileWriter out= new FileWriter("B-large.out");
		//BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
		int T,S,P,N,C;
		T=Integer.parseInt(in.readLine());
		StringTokenizer x;
		for (int i = 1; i <= T; i++) {
			C=0;
			x=new StringTokenizer(in.readLine());
			N=Integer.parseInt(x.nextToken());
			S=Integer.parseInt(x.nextToken());
			P=Integer.parseInt(x.nextToken());
			int G[]=new int[N];
			for (int j = 0; j < N; j++) {
				G[j]=Integer.parseInt(x.nextToken());
			}
			Arrays.sort(G);
			for (int j = 0; j < N; j++) {
				if(G[j]<P)// may be  <p only
					continue;
				int A,B,D;
				A=P;G[j]-=P;
				B=G[j]/2;
				D=G[j]-B;
				if(D>=10){
				C++;
				continue;
				}
				if(P-B>2)
				continue;
				else if(P-B==2&&S>0){
				C++;
				S--;
				}
				else if(P-B<=1){
				C++;
				}
				
				
			}
			//System.out.println(C);
			out.write("Case #"+i+": "+C+"\n");
			
			
		}
		out.close();	
		
	}
}
