Запутался, где то сворачиваю не туда, помогите. вот код, вывел все верно, но не пропустил валидатор, при это 3 требования не принимает
ArrayList<String> strings = new ArrayList<>();
        int N = Integer.parseInt(reader.readLine());
        int M = Integer.parseInt(reader.readLine());

        for (int i = 0; i < N; i++) {
            strings.add(reader.readLine());
        }

        for (int i = 0; i < M; i++) {
            strings.add(strings.get(i));
            strings.remove(0);
        }

        for (String s : strings
        ) {
            System.out.println(s);
        }
А вот другой код,он отрабатывает не верно, но валидатор уже 2 требования не принимает. Где я ошибся?
ArrayList<String> strings = new ArrayList<>();
        int N = Integer.parseInt(reader.readLine());
        int M = Integer.parseInt(reader.readLine());

        for (int i = 0; i < N; i++) {
            strings.add(reader.readLine());
        }

        for (int i = 0; i < strings.size(); i++) {
            strings.add(M, strings.get(i));
            strings.remove(0);
        }

        for (String s : strings
        ) {
            System.out.println(s);
        }