public class Tableaux {

    public static int[] getTab(String[] args, int index, int[] tab) {
        if (index == 0) {
            if (args.length == 0) return new int[0];
            tab = new int[args.length];
            tab[0] = Integer.parseInt(args[0]);
            getTab(args, index + 1, tab);
        } else if (index < args.length) {
            tab[index] = Integer.parseInt(args[index]);
            getTab(args, index + 1, tab);
        }

        return tab;
    }

    public static int maxN(int[] tab, int index) {
        if (index < tab.length) {
            int n = maxN(tab, index + 1);
            return tab[index] > n ? tab[index] : n; 
        } else return Integer.MIN_VALUE;
    }

    public static int getEven(int[] tab, int index, int n) {
        if (index == 0) n = 0;


        if (index < tab.length) {
            return (tab[index] % 2 == 0 ? 1 : 0) + getEven(tab, index + 1, n);
        } else return 0;
    }

    public static void showTab(int[] tab, int index) {
        if (index < tab.length) {
            showTab(tab, index + 1);
            System.out.print(tab[index] + " ");
        } if (index == 0) System.out.print("\n");
    }

    public static void main(String[] args) {
        int[] tab = getTab(args, 0, null);
        System.out.println(getEven(tab, 0, 0));
        System.out.println(maxN(tab, 0));
        showTab(tab, 0);
    }
}
