İmtahan
Nifrət fəlsəfəni yaxınlaşdırır, imtahan vermək zərurəti isə daha çox. Amma əsas olan ona hazırlaşmaq istəməməyin dəqiq hissidir.
— Bax, İra, müəllimə yaxınlaşırsan və ona belə bir şey təklif edirsən: bizdə 18 bilet var, onlar üzü aşağı yatır. Gəlin bunlardan K ədədini çevirək, sonra siz onları diqqətlə qarışdırıb bir yığın halına gətirirsiniz. Sonra mən, yəni sən, gözlərin bağlı şəkildə onları iki yığına elə bölürsən ki, hər ikisində eyni sayda açıq bilet olsun. Bu zaman sənə, məsələn, birinci yığındakı iki bileti yerlərini dəyişmək, birinci yığındakı hansısa bileti çevirmək və ya birinci yığından ikinciyə bilet keçirmək icazəsi verilir. Bütün bunları gözlərin bağlı şəkildə edirsən və biletlərin vəziyyəti haqqında heç bir məlumatın yoxdur, yalnız K sayını bilirsən və bütün hərəkətlərini xatırlayırsan. — Yaxşı, sonra nə olacaq? — Belə ki, əgər bunu uğurla bacarsan, müəllim sənə açıq biletlərdən istədiyini cavablandırmaq imkanı verir. — Bəs əgər alınmasa? — Möcüzəyə inanacağıq. — Niyə özün sınamırsan? — Elə də yaxşı reputasiyam yoxdur. — Ona görə də mənimkini korlamaq istəyirsən? — Üç dəfə.
Giriş verilənləri
Tək cüt ədəd K (0 ≤ K ≤ 18) verilir — üzü yuxarı çevrilmiş biletlərin sayı (əvvəlcə bütün 18 bilet birinci yığında yerləşir).
Çıxış verilənləri
Əgər biletləri tələb olunan şəkildə iki boş olmayan yığına bölmək mümkün deyilsə, -1 çıxarın. Əks halda, birinci sətirdə əməliyyatların sayı Q (0 ≤ Q ≤ 2^9+36) çıxarın. Sonra Q sətirdə əməliyyatların ardıcıllığını təsvir edin. Hər sətir üç növ komandadan birini ehtiva etməlidir:
swap i j — birinci yığındakı i və j mövqelərindəki biletlərin yerlərini dəyişmək.
rev i — birinci yığındakı i mövqeyindəki bileti çevirmək.
out i — birinci yığındakı i mövqeyindəki bileti ikinci yığına keçirmək. Bu əməliyyatdan sonra birinci yığındakı bütün biletlər, (i+1)-ci mövqedən başlayaraq, bir mövqe aşağı keçir.
Yığınlar boş olmamalı və eyni sayda açıq bilet ehtiva etməlidir (1 ≤ i ≠ j ≤ 18).