import java.io.*;
import java.math.*;
import java.util.*;
import java.text.*;

public class b {
    public static void main(String[] args) {
        Scanner sc = new Scanner(new BufferedInputStream(System.in));

        int T = sc.nextInt();

        for (int casenumber = 1; casenumber <= T; ++casenumber) {

            int n = sc.nextInt();
            int s = sc.nextInt();
            int p = sc.nextInt();

            int[] ts = new int[n];
            for (int i = 0; i < n; ++i)
                ts[i] = sc.nextInt();

            int thresh1 = (p == 1 ? 1 : (3 * p - 4));
            int thresh2 = (3 * p - 2);

            int count1 = 0, count2 = 0;

            for (int i = 0; i < n; ++i) {
                if (ts[i] >= thresh2) {
                    ++count2;
                    continue;
                }
                if (ts[i] >= thresh1) {
                    ++count1;
                }
            }

            if (count1 > s) {
                count1 = s;
            }

            System.out.format("Case #%d: %d%n", casenumber, count1 + count2);
        }
    }
}

package com.unitedcoders.examples.codejam;

import java.io.File;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

public class DancingWithGooglers {

    public static void main(String[] args) throws Exception {

        Scanner scanner = new Scanner(new File("/Users/nh/b.in"));
        PrintStream out = new PrintStream(new File("/Users/nh/b.out"));

        int testcases = scanner.nextInt();
        scanner.nextLine();
        for (int casenr = 1; casenr <= testcases; casenr++) {

            int googlers = scanner.nextInt();
            int surprises = scanner.nextInt();
            int minScore = scanner.nextInt();

            ArrayList<Integer> scores = new ArrayList<Integer>();
            for(int i=0; i<googlers; i++){
                scores.add(scanner.nextInt());
            }

            int p = solve(googlers, surprises, minScore, scores);

            System.out.printf("Case #%d: %d\n", casenr, p);
            out.printf("Case #%d: %d\n", casenr, p);
        }


    }

    public static int solve(int googlers, int surprises, int minScore, ArrayList<Integer> scores){


        Collections.sort(scores);
        Collections.reverse(scores);

        int save = minScore + 2*(minScore-1);
        int min =  minScore +2*(minScore-2);
        int p = 0;


        for(int i : scores){

            if(i>=save){
                p++;
                continue;
            }else{
                if((i>=min && surprises >0) && (i>0)){
                    p++;
                    surprises--;
                }
            }

        }

        return p;



    }
}
