Хаотическая перестановка
면접 대비시간 제한2초메모리 제한512 MB
1부터 n까지의 순열이 주어질 때, 연속한 세 원소가 증가하거나 감소하지 않도록 n번 이하의 인접 교환으로 바꾸고 교환 순서를 출력하거나 -1을 출력한다.
문제
Сегодня Васю заставили убираться в классе. Устав наводить порядок, он решил, что теперь он просто должен в качестве компенсации устроить где-нибудь хаос. И тут ему на глаза попалась написанная учителем на доске перестановка чисел от 1 до . Напомним, что перестановкой чисел от 1 до называется последовательность из чисел, в которой каждое из них встречается ровно один раз.
Вася считает, что три подряд идущих элемента находятся в порядке, если они упорядочены либо по возрастанию, либо по убыванию. Он называет перестановку хаотической, если никакая тройка подряд идущих элементов не находится в порядке.
Вася решил изменить перестановку на доске, сделав ее хаотической. Для этого он решил не более раз поменять местами два соседних элемента в перестановке.
Помогите Васе сделать перестановку хаотической, пока не пришел учитель и не наказал его за то, что он занимается ерундой вместо уборки.
입력
Во входном файле задана исходная перестановка, которая написана на доске. Первая строка содержит целое число --- длину перестановки (). Вторая строка содержит различных целых чисел, каждое из которых лежит в диапазоне от 1 до --- саму перестановку.
출력
В первой строке выведите число --- количество операций, которое необходимо сделать Васе. В следующей строке выведите чисел --- саму последовательность операций. Если на очередном шаге надо поменять местами -й и -й элементы перестановки, необходимо вывести число .
Если ответов несколько, вы можете вывести любой. Обратите внимание, что вам не обязательно минимизировать количество операций. Достаточно, чтобы оно было не больше, чем . Если решения не существует, выведите число .
힌트
В первом примере, перестановка будет иметь такой вид . Ответ, предложенный во втором примере, тоже корректен.
В третьем примере перестановка уже хаотическая, и ничего менять не надо.