Exam
Неприязнь до філософії зближує, необхідність здавати екзамен — тим більше. Але головне — чітке відчуття небажання до нього готуватись.
— Дивись, Іра, підходиш до викладача і пропонуєш йому таку річ: у нас є 18 білетів, вони лежать лицем донизу. Давайте K з них перевернемо, потім Ви їх ретельно перетасуєте і покладете в одну стопку. А далі я, в смислі ти, з заплющеними очима розділиш їх на дві стопки так, що у них буде однакова кількість відкритих білетів. При цьому тобі дозволяється, скажімо, поміняти місцями два білети у першій стопці, перевернути якийсь білет у першій стопці ну і безповоротно перекласти білет з першої стопки у другу. Ти все це робиш з заплющеними очима і про стан білетов не має жодної інформації крім тієї, що ти знаєш число K і пам'ятаєш усі свої дії. — Добре, і що далі? — Так ось, якщо у тебе це благополучно виходить, то викладач дає тобі можливість відповідати довільний серед відкритих білетів. — А якщо ні? — Будемо вірити у чудо. — Чому б тобі самому не спробувати? — Не те щоб у мене гарна репутація. — Тому бажаєш зіпсувати мою? — Аж три рази.
Вхідні дані
Задано єдине парне число K (0 ≤ K ≤ 18) — кількість перевернутих лицьовою стороною догори білетів (спочатку усі 18 білетів знаходяться у першій стопці).
Вихідні дані
Якщо немає можливості різділити білети на дві непорожні стопки потрібним чином, вивести -1. Інакше у першому рядку вивести кількість дій Q (0 ≤ Q ≤ 2^9+36). Далі у Q рядках описати порядок дій. Кожен рядок повинен містити команду одного з трьох типів:
swap i j — поміняти місцями білети на позиціях i та j першої стопки.
rev i — перевернути білет на позиції i першої стопки.
out i — перемістити білет на позиції i з першої стопки у другу. Після цієї операції усі білети першої стопки, починаючи з (i+1)-го, займають позицію на одиницю менше.
Стопки повинні виявивитись непорожніми і містити однакову кількість відкритих білетів (1 ≤ i ≠ j ≤ 18).