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;
	}

}

import java.io.*;
import java.util.*;
import java.math.BigInteger;
public class B{
public static void main(String []args) throws Exception {
                BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	int t, x = 0, n, s, p, ans;
	t = Integer.parseInt(br.readLine());
	while(t>0) {t--; x++;
	ans = 0;
	String w = br.readLine();
	String arr1[] = w.split("[ ]+");
	n = Integer.parseInt(arr1[0]);
	s = Integer.parseInt(arr1[1]);
	p = Integer.parseInt(arr1[2]); 
	int a = 0, a1 = 1, r = 2;
	for(int i = 0; i < n; i++) {r++;
		a = Integer.parseInt(arr1[r]);
		int b = (a/3);
		int c = b*3;
		int d = (b+1)*3;
		int e = 0;
		 if(b >= p) { ans++; e = 1;}
		if(e == 0) { if((c+1) == a && (b+1) >= p) { ans++; e = 1;}
			else if((c+2) == a && (b+1) >= p){ans++; e = 1;}
		}
		if(e == 0 && a1 <= s) {
			if(c > 0 && (c) == a && (b+1) >= p) { ans++; a1++;}
			else if((c+1) == a && (b+1) >= p) { ans++; a1++;}
			else if((c+2) == a && (b+2) >= p) { ans++; a1++;}
		}
	}
			
		System.out.println("Case #"+x+": "+ans);
        	}
	}
}
