Дано масив ~A~, який містить ~N~ цiлих чисел. Визначте, чи можна даний масив вiдсортувати у порядку зростання виконуючи лише одну з наступних операцiй:
помiняти два елементи мiсцями
змiнити порядок елементiв на зворотнiй на будь-якому сегментi
Необхiдно встановити, чи виконає дане завдання перша, друга чи жодна з операцiй.
Формат вхiдних даних
Перший рядок мiстить цiле число ~N~ ~(2 \le N \le 100000)~ - кiлькiсть елементiв масиву.
Наступний рядок мiстить елементи масиву ~A~ ~(0 \le A_i \le 100000)~, якi роздiляються пропуском.
Формат вихiдних даних
Якщо масив уже вiдсортований, то вивести ~yes~ в одному рядку. Бiльше нiчого не треба виводити.
Якщо масив можна вiдсортувати наведеними операцiями, то у першому рядку виводимо ~yes~, а в другому:
якщо елементи можна помiняти мiсцями, то вивести ~swap~ ~l~ ~r~, де ~l, r~ iндекси елементiв, якi обмiнюються мiсцями, причому ~l < r~. Елементи iндексуються вiд 1 до ~N~.
в iншому випадку вивести ~reverse~ ~l~ ~r~, де ~l~ лiва межа сегменту, а ~r~ - права.
Якщо можна використати або ~reverse~, або ~swap~, то вивести ~swap~.
Якщо ж масив вiдсортувати за вказаними правилами неможливо, то вивести ~no~.
Приклад вхідних даних
2
4 2
Приклад вихідних даних
yes
swap 1 2
Приклад вхідних даних
3
3 1 2
Приклад вихідних даних
no
Приклад вхідних даних
6
1 5 4 3 2 6
Приклад вихідних даних
yes
reverse 2 5
Коментарі