Дано масив \(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
Коментарі