De exemplu, un _mare swap_ efectuat de majoretele $A, B, C, D, E, F, G, H$ va rezulta in randul $E, F, G, H, A, B, C, D$, şi un _mare split_ efectuat de aceleasi majorete rezulta in randul $A, C, E, G, B, D, F, H$.
Definim numărul de inversiuni ale unui rând de majorete cu înălţimile $h'[1], ..., h'[2^N^]$ ca fiind numărul de perechi $(i, j), 1 ≤ i < j ≤ 2^N$ unde $h'[i] > h'[j]$. Majoretele vor să găsească o secvenţă de manevre care minimizeaza numărul de inversiuni ale rândului rezultant.
Definim numărul de inversiuni ale unui rând de majorete cu înălţimile $h'[1], ..., h'[2^N^]$ ca fiind numărul de perechi $(i, j), 1 ≤ i < j ≤ 2^N$ unde $h'[i] > h'[j]$. Majoretele vor să găsească o secvenţă de manevre care minimizeaza numărul de inversiuni ale rândului rezultant.
h2. Fisier de intrare
Pe prima linie a fisierului de intrare $cheerleader.in$ veţi găsi numărul întreg $N$.
Pe a doua linie a fisierului de intrare veţi găsi $2^N^$ numere întregi ce reprezintă $h[1], ..., h[2^N^]$.
Pe a doua linie a fisierului de intrare veţi găsi $2^N^$ numere întregi ce reprezintă $h[1], ..., h[2^N^]$.
h2. Fisier de iesire
Pe primul rând al fisierului de iesire $cheerleader.out$ se va afla numărul minim de inversiuni.
Pe al doilea rând al outputului se va afla un şir de caractere ce reprezintă o secvenţă de manevre care conduce la numărul minim de inversiuni. Un caracter $1$ va reprezenta un _mare swap_, iar un caracter $2$ va reprezenta un _mare split_. Orice secvenţă de manevre care duce la numărul minim de inversiuni va fi acceptată.
h2. Restrictii
* $0 ≤ N ≤ 17$.
* $N$ poate fi 0.
* $\mathbf{N}$ \textbf{poate fi 0}.
* Dacă se afişează numărul minim de inversiuni corect, dar secvenţa de manevre nu este corectă, se vor primi $X$ puncte. Valoarea lui $X$ variază de la subtask la subtask.
* Lungimea secvenţei de manevre trebuie să fie de cel mult $500.000$.
* Pentru $16$ puncte, $N ≤ 4$
* Pentru $10$ puncte, $N ≤ 7$
* Pentru $25$ puncte, $N ≤ 11$
* Pentru $21$ puncte, $N ≤ 16$, se garantează că numărul minim de inversiuni ce poate fi obţinut este 0.
* Pentru $16$ puncte, $N ≤ 4$, $X = 8$.
* Pentru $10$ puncte, $N ≤ 7$, $X = 5$.
* Pentru $25$ puncte, $N ≤ 11$, $X = 20$.
* Pentru $21$ puncte, $N ≤ 16$, se garantează că numărul minim de inversiuni ce poate fi obţinut este 0, si $X = 0$.
* Pentru ultimele $28$ de puncte, $X = 21$.
h2. Exemple