import java.util.Arrays;

public class Tableaux{
    public static int[] remplir_tab(int val, String[] argv, int[] tab) {
        if (argv.length == val) {
            return tab;
        } else {
            tab[val] = Integer.parseInt(argv[val]);
            val++;
            return remplir_tab(val, argv, tab);
        }
    }

    public static int pair_tab(int val, int pair, int[] tab) {
        if (tab.length == val) {
            return pair;
        } else {
            if (tab[val] % 2 == 0)
                pair++;
            val++;
            return pair_tab(val, pair, tab);
        }
    }

    public static int max_tab(int val, int max, int[] tab) {
        if (tab.length == val) {
            return max;
        } else {
            if (tab[val] > max)
                max = tab[val];
            val++;
            return max_tab(val, max, tab);
        }
    }

    public static int[] inverse_tab(int val, int[] tab, int[] inv_tab) {
        if (tab.length == val) {
            return inv_tab;
        } else {
            inv_tab[val] = tab[tab.length-1-val];
            val++;
            return inverse_tab(val, tab, inv_tab);
        }
    }

    public static void main(String[] argv){
        if (argv.length < 1){
            System.err.println("il faut un nombre au minimum pour le tableau");
        } else {
            int[] tab = new int[argv.length];
            int[] inv_tab = new int[argv.length];
            int val = 0;
            int pair = 0;
            int max = 0;
            tab = remplir_tab(val, argv, tab);
            System.out.println(Arrays.toString(tab));
            System.out.println("nombre de pair ="+pair_tab(val, pair, tab));
            System.out.println("nombre le plus grand ="+max_tab(val, max, tab));
            inv_tab = inverse_tab(val, tab, inv_tab);
            System.out.println(Arrays.toString(inv_tab));
        }
    }
}