/**
 * Created by IntelliJ IDEA.
 * User: Administrator
 * Date: 3/3/12
 * Time: 11:00 AM
 * To change this template use File | Settings | File Templates.
 */

import SRMLib.MathLibrary;
import SRMLib.TestSRMLib;
import com.sun.org.apache.bcel.internal.generic.F2D;

import java.io.*;
import java.util.*;
import java.util.zip.Inflater;

public class SRM {
    public static void main(String[] args) throws IOException {
        //TestSRMLib.run();
        codeJam1.main();

        return;
    }
}
class codeJam1 {
    public static void main() throws IOException {
        String inputPath = "E:\\input.txt";
        String outputPath = "E:\\output.txt";
        BufferedReader input = new BufferedReader(new FileReader(inputPath));
        BufferedWriter output = new BufferedWriter(new FileWriter(outputPath));

        String line;
        line = input.readLine();
        int T = Integer.parseInt(line);
        for (int i = 1; i <= T; ++i) {
            line = input.readLine();
            String[] words = line.split(" ");
            int N = Integer.parseInt(words[0]);
            int S = Integer.parseInt(words[1]);
            int p = Integer.parseInt(words[2]);
            int n = 0;
            int res = 0;

            for (int j = 3; j < words.length; ++j) {
                if (p == 0) {
                    res++;
                    continue;
                }

                int t = Integer.parseInt(words[j]);
                if (p == 1) {
                    if (t > 0)
                        res++;
                    continue;
                }
                if (t >= 3 * p - 2)
                    res++;
                else if (t >= 3 * p - 4)
                    n++;
            }

            res += Math.min(n, S);
            output.write("Case #" + i + ": " + res);
            output.newLine();
        }

        input.close();
        output.close();
    }
}

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

public class ProblemB {

	static boolean surprising(int s, int p)
	{
		int r = s % 3;
		int x;
		if (r == 0)
			x = (s - 3) / 3;
		else if (r == 1)
			x = (s - 4) / 3;
		else
			x = (s - 2) / 3;
		if (x >= 0 && x <= 8)
		{
			return (x + 2) >= p;
		}
		else
			return false;
	}
	
	static boolean nonsurprising(int s, int p)
	{
		int r = s % 3;
		int x;
		if (r == 0)
		{
			x = s / 3;
			return x >= 0 && x <= 10 && x >= p;
		}
		else if (r == 1)
			x = (s - 1) / 3;
		else
			x = (s - 2) / 3;
		return (x >= 0 && x <= 9 && x + 1 >= p);
	}

	public static void main(String[] args) throws FileNotFoundException {
		Scanner cin = new Scanner(new File("B.txt"));
		int caseN = cin.nextInt();
		for (int caseI = 1; caseI <= caseN; caseI++)
		{
			int n = cin.nextInt();
			int s = cin.nextInt();
			int p = cin.nextInt();
			int scores[] = new int[n];
			boolean sur[] = new boolean[n];
			boolean non[] = new boolean[n];
			for (int i=0; i<n; i++)
				scores[i] = cin.nextInt();
			int ans = 0;
			int inc = 0, dec = 0, rem = 0;
			for (int i=0; i<n; i++)
			{
				sur[i] = surprising(scores[i], p);
				non[i] = nonsurprising(scores[i], p);
				if (non[i])
					ans++;
				if (sur[i] == non[i])
					rem++;
				else if (sur[i])
					inc++;
				else
					dec++;
			}
			int delta;
			delta = Math.min(s, inc);
			s -= delta;
			ans += delta;
			delta = Math.min(s, rem);
			s -= delta;
			delta = Math.min(s, dec);
			s -= delta;
			ans -= delta;
			System.out.println("Case #" + caseI + ": " + ans);
		}
	}

}
