import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Scanner;


public class Dancing_With_the_Googlers {


    /**
     * The first line of the input gives the number of test cases, T.
     *  T test cases follow. 
     *  Each test case consists of a single line containing integers separated by single spaces. 
     *  The first integer will be N, the number of Googlers, and the second integer will be S, the number of surprising triplets of scores. 
     *  The third integer will be p, as described above. Next will be N integers ti: the total points of the Googlers. 
     * @throws IOException
     */
	   public static void main(String[] args) throws IOException {
	        // TODO Auto-generated method stub
			// Reading the input file
			Scanner in = new Scanner(new File("B-large.in"));
			// writting the input file
			FileOutputStream fos = new FileOutputStream("B-large.out");
			PrintStream out = new PrintStream(fos);
	         //Close the output stream
	        int testCase=Integer.parseInt(in.nextLine());
	        for(int i=0;i<testCase;i++) {
	        	out.print("Case #" + (i + 1) + ":\t");
	        	int NoOfGooglers= in.nextInt();
	        	int NoOfSurprisingResults = in.nextInt();
	        	int atLeastP=in.nextInt();
	        	ArrayList<Integer> scores= new ArrayList<Integer>();
        		int BestResults=0;
        		int Surprising=0;
	        	for(int j=0;j<NoOfGooglers;j++)
	        	{
	        		scores.add(in.nextInt());
	        		//System.out.print(scores.get(j));
	        		int modulus=scores.get(j)%3;
	        		int temp = scores.get(j);
	    			switch (modulus) {
					case 0:
						if (((temp / 3) >= atLeastP)) {
							BestResults++;
						} else {
							if (((((temp / 3) + 1) >= atLeastP) && ((temp / 3) >= 1))
									&& (Surprising < NoOfSurprisingResults)) {
								BestResults++;
								Surprising++;
								
							}
							System.out.println("Case 0"+"itr:"+i+"  surprising:"+temp);
						}
						
						break;
					case 1:
						if ((temp / 3) + 1 >= atLeastP) {
							BestResults++;
							continue;
						}
						
						break;
					case 2:
						if ((temp / 3) + 1 >= atLeastP) {
							BestResults++;
						} else {
							if (((temp / 3) + 2 >= atLeastP)
									&& (Surprising < NoOfSurprisingResults)) {
								BestResults++;
								Surprising++;
							}
							System.out.println("Case 2"+"itr:"+i+"  surprising:"+temp);
						}
						break;
					default:
						System.out.println("Error");
					}
	    			
				}// Internal for
				out.println(BestResults);
				// System.out.println(BestResults);
				System.out.println(Surprising);
				BestResults = 0;
			}// for
			in.close();
			out.close();
			fos.close();

	   }
}

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package dancewithgoogle;

import java.util.*;
import java.io.*;


/**
 *
 * @author Aaron
 */
public class DanceWithGoogle {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        
        //only 3x+2, 3x can be suprise
          try
        {
        
            File file = new File ("input.txt");
            
            PrintWriter pw = new PrintWriter (new FileWriter ("output.txt"));               
                                
            if (file.exists ())
            {
                FileReader f_rd = new FileReader (file);
                LineNumberReader l_rd = new LineNumberReader(f_rd);
                String input_s;                
                
                
                
                input_s = l_rd.readLine();
                int num_case;
                
                 if (input_s!= null)
                 {
                    num_case = Integer.parseInt (input_s);
                } else 
                 {
                    throw new IllegalArgumentException("Invalid Input File");
                }

                 
                for (int i = 0; i< num_case;i++)
                {
                    //for each test case
                    input_s = l_rd.readLine();
                    String[] values = input_s.split(" ");
                    int num_goolge;
                    int num_s;
                    int num_p;
                    int result = 0;
                    
                    num_goolge = Integer.parseInt(values[0]);
                    num_s = Integer.parseInt(values[1]);
                    num_p = Integer.parseInt(values[2]);
                    
                    for ( int j = 0; j < num_goolge; j++)
                    {
                        int total = Integer.parseInt(values[3+j]);
                        
                        int tmp = total%3;
                        if (tmp == 0 )
                        {
                            //3x, max without using suprise is X
                            if ( total/3 >= num_p)
                                result++;
                            else
                            {
                                if (num_s>0)
                                {
                                     //special case for 0    

                                    if (total/3 > 0)
                                    {
                                        if (total/3 + 1 >= num_p)
                                        {
                                            num_s--;
                                            result++;
                                        }
                                    }                                    
                                }
                            }
                        }
                        else
                        {
                            if ( tmp == 1)
                            {
                                if ( total/3 + 1 >= num_p)
                                result++;                                
                            }
                            if (tmp == 2)
                            {
                                 //3x, max without using suprise is X
                                if ( total/3 + 1 >= num_p)
                                    result++;
                                else
                                {
                                    if (num_s>0)
                                    {
                                        if (total/3 + 2 >= num_p)
                                        {
                                            num_s--;
                                            result++;
                                        }
                                    }
                                }                                
                            }
                        }                            
                    }
                     pw.println ("Case #"+ (i+1)+": " + result);                                          
                }
                 pw.close();
                
                l_rd.close ();
            }
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        
    }
}
