import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;


public class Dancing {

	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		// read input file
		File file = new File("B-small-attempt4.in");
		//File file = new File("input.txt");
		BufferedReader br = new BufferedReader(new FileReader(file));
		String ln = "";
		int count = Integer.parseInt(br.readLine());

		// write output file
		File out = new File("outB.txt");
		BufferedWriter bw = new BufferedWriter(new FileWriter(out));
		
		int y = 0;
		for (int i=0; i < count; i++){
			ln = br.readLine();
			y = getY(ln);
			bw.write("Case #" + (i+1) + ": " + y);
			bw.newLine();
		}
		bw.close();
	}
	
	private static int getY(String str) {
		String[] data = str.split(" ");
		int n = Integer.parseInt(data[0]);
		int s = Integer.parseInt(data[1]);
		int p = Integer.parseInt(data[2]);
		int[] t = new int[n];
		for (int i=0; i < n; i++){
			t[i] = Integer.parseInt(data[i+3]);
		}
		int y = 0;
		int base = 0;
		for(int j=0; j < t.length; j++){
			base = t[j] / 3;
			if(base >= p) { y++; }
			else if(base == p-1){
				if(t[j] - (base+p) > base-1 && t[j] > 0){
					y++;
				} else if(s>0 && t[j] - (base+p) > base-2 && t[j] > 0){
					s -= 1;
					y++;
				}
			} else if(base == p-2){
				if(s > 0 && t[j] - (base+p) > base-1 && t[j] > 0){
					s -= 1;
					y++;
				}
			}
		}
		
		return y;
	}

}

package com.first;

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

public class ReadWriteFileForCodeJam {

	String fileRead;
	String fileWrite;
	String fileContentToWrite;
	String fileSeparatorForWrite, fileSeparatorForRead;
	boolean firstTimeRead;
	int readCursor;
	ArrayList<String> fileContentAsArrayList;

	public ReadWriteFileForCodeJam(){
		fileContentToWrite = new String();
		fileRead = new String();
		fileWrite = new String();
		fileSeparatorForWrite = new String();
		fileSeparatorForRead = new String();
		firstTimeRead = true;
		fileContentAsArrayList = new ArrayList<String>();
	}

	public void setFileNameForRead(String fileName){
		fileRead = fileName;
	}

	public void setFileNameForWrite(String fileName){
		fileWrite = fileName;
	}

	public void setFileSeperatorForWrite(String separator){
		fileSeparatorForWrite = separator;
	}

	public void setFileContentToWrite(String content, boolean append, boolean newLine){

		String separator = new String();

		if (append){
			if (newLine){
				separator = System.getProperty("line.separator");
			}
			else{
				separator = fileSeparatorForWrite;
			}
		}

		if (fileContentToWrite != null && fileContentToWrite.length() == 0)
			fileContentToWrite = content;
		else
			fileContentToWrite = fileContentToWrite + separator + content;
	}

	public String ReadFile(boolean returnContent) {

		StringBuilder content = new StringBuilder();

		File aFile = new File(fileRead);

		if (firstTimeRead){
			firstTimeRead = false;
			try {
				BufferedReader input = new BufferedReader(new FileReader(aFile));
				try {
					String line = null;
					while ((line = input.readLine()) != null) {
						content.append(line);
						fileContentAsArrayList.add(line);
						content.append(System.getProperty("line.separator"));
					}
				} finally {
					input.close();
				}
			} catch (IOException io) {
				return (io.toString());
			}
			if (returnContent)
				return content.toString();
		}
		return null;
	}

	public String GetSingleLineFromFile(int lineNumber){
		try{
			return fileContentAsArrayList.get(lineNumber - 1).toString();
		}catch (IndexOutOfBoundsException e){
			return null;
		}
	}

	public int getNoOfLinesInFile(){
		return fileContentAsArrayList.size();
	}

	public boolean WriteFile(boolean appendLine) {
		File aFile = new File(fileWrite);
		Boolean writeSuccess = true;
		try {
			Writer output = new BufferedWriter(new FileWriter(aFile));
			try {
				output.write(fileContentToWrite);
			} finally {
				output.close();
			}
		} catch (IOException io) {
			writeSuccess = false;
		}
		return writeSuccess;
	}
}
