Сноубординг#743

Сноубординг

1 секунда
64 мегабайти
Складна

Погода в перші дні олімпіади не тішила ні спортсменів, ні глядачів. Але тим, кому довелося справді важко, були організатори. Проливний дощ і теплі дні знищили більшу частину снігу на трасі для сноуборда. Через це організатори були змушені декілька разів переносити змагання, намагаючись відновити трасу за допомогою запасів снігу.

Коли, нарешті, все було готово до стартів, з'ясувалося, що дощ розмив усі стоячі місця на арені для змагань. Організатори зазнали колосальних збитків і були змушені продавати квитки лише на перший ряд — єдиний ряд сидячих місць.

У день змагань кожен з глядачів, які придбали квитки в перший ряд, зайняв одне з місць у першому ряду. Проте під час перевірки квитків з'ясувалося, що жоден із глядачів не сидить на своєму місці, і при цьому всі місця зайняті. За один крок волонтер може поміняти місцями двох сусідніх глядачів, якщо обидва сидять не на своїх місцях. Якщо ж глядач уже сидить на своєму місці, чіпати його не можна, це заважає йому спостерігати за змаганнями. Вам необхідно допомогти знайти схему пересадки, яка розсаджує всіх глядачів на свої місця. Покваптеся, адже незабаром почнуться найцікавіші виступи.

Вхідні дані

У першому рядку записано ціле число (2 \leq N \leq 300). У другому рядку записано чисел — перестановку від до — початкове розміщення глядачів. Гарантується, що ніхто з глядачів на початку не сидить на своєму місці.

Вихідні дані

Якщо розв'язку не існує, необхідно вивести -1. Інакше у першому рядку вивести число кроків у схемі пересадки. Далі вивести схему пересадки, кожен крок в окремому рядку. Крок описується двома числами — місцями, глядачі на яких міняються місцями на цьому кроці. Кількість кроків не повинна перевищувати . Якщо існує декілька розв'язків, вивести довільний.

Приклади

Приклад 1

Loading
Loading