package codejam;

import fixjava.Pair;

public class Utils {

	public static long minLong(long firstVal, long... otherVals) {
		long minVal = firstVal;
		for (int i = 0; i < otherVals.length; i++)
			minVal = Math.min(firstVal, otherVals[i]);
		return minVal;
	}

	public static int minInt(int firstVal, int... otherVals) {
		int minVal = firstVal;
		for (int i = 0; i < otherVals.length; i++)
			minVal = Math.min(firstVal, otherVals[i]);
		return minVal;
	}

	public static float minFloat(float firstVal, float... otherVals) {
		float minVal = firstVal;
		for (int i = 0; i < otherVals.length; i++)
			minVal = Math.min(firstVal, otherVals[i]);
		return minVal;
	}

	/**
	 * ArgMin returned as a Pair<Integer, Integer>(index, value). Array must
	 * have at least one value.
	 */
	public static Pair<Integer, Integer> argMin(int[] arr) {
		int min = arr[0];
		int argMin = 0;
		for (int i = 1; i < arr.length; i++) {
			if (arr[i] < min) {
				min = arr[i];
				argMin = i;
			}
		}
		return new Pair<Integer, Integer>(argMin, min);
	}

	/**
	 * ArgMax returned as a Pair<Integer, Integer>(index, value). Array must
	 * have at least one value.
	 */
	public static Pair<Integer, Integer> argMax(int[] arr) {
		int max = arr[0];
		int argMax = 0;
		for (int i = 1; i < arr.length; i++) {
			if (arr[i] > max) {
				max = arr[i];
				argMax = i;
			}
		}
		return new Pair<Integer, Integer>(argMax, max);
	}

}

import java.io.IOException;
import java.util.List;

public class Dancing extends JamProblem {

    public static void main(String[] args) throws IOException {
        Dancing p = new Dancing();
        p.go();
    }

    @Override
    String solveCase(JamCase jamCase) {
        int res = 0;
        DancingCase ca = (DancingCase) jamCase;
        for (int i = 0; i < ca.sums.length; i++) {
            int sum = ca.sums[i];
            if (sum == 0) {
                if (ca.p == 0) {
                    res++;
                }
                continue;
            }
            int n = sum % 3;
            int one = sum / 3;
            if (n == 0) {
                if (one >= ca.p) {
                    res++;
                    continue;
                }
                if (ca.sup > 0) {
                    if (one + 1 >= ca.p) {
                        res++;
                        ca.sup--;
                    }
                }
            }

            if (n == 1) {

                if (one + 1 >= ca.p) {
                    res++;
                }
            }
            if (n == 2) {
                if (one + 1 >= ca.p) {
                    res++;
                    continue;
                }

                if (ca.sup > 0) {
                    if (one + 2 >= ca.p) {
                        res++;
                        ca.sup--;
                    }
                }
            }
        }
        return "" + res;
    }

    @Override
    JamCase parseCase(List<String> file, int line) {
        DancingCase ca = new DancingCase();
        ca.lineCount = 1;
        String s = file.get(line);
        List<Integer> integers = JamUtil.parseIntList(s);
        int gs = integers.get(0);
        ca.sup = integers.get(1);
        ca.p = integers.get(2);
        ca.sums = new int[gs];
        for (int i = 0; i < gs; i++) {
            ca.sums[i] = integers.get(3 + i);
        }

        return ca;
    }
}

class DancingCase extends JamCase {
    int p;
    int[] sums;
    int sup;
}