Mamy $2n$ kart oznaczonych liczbami od $1$ do $2n$, ułożonych w stos w kolejności $1, 2, 3, \ldots, 2n$ patrząc od góry.
Karty te przekładamy, stosując wielokrotnie następujące metody:
Przełożenie (cut) z liczbą całkowitą $k$
Po podzieleniu talii na stos A składający się z $k$ górnych kart oraz stos B składający się z pozostałych $2n-k$ kart, kładziemy stos B na wierzchu stosu A.
Tasowanie kaskadowe (riffle shuffle)
Dzielimy talię na stos A składający się z $n$ górnych kart oraz stos B składający się z pozostałych $n$ kart, po czym łączymy je w $1$ stos tak, aby od góry znajdowały się kolejno: $1$-sza karta z A, $1$-sza karta z B, $2$-ga karta z A, $2$-ga karta z B, $\ldots$, $n$-ta karta z A, $n$-ta karta z B.
Napisz program, który przetasuje karty zgodnie z instrukcjami z wejścia i wypisze numery kart po przetasowaniu w kolejności od góry.
Wejście
- W wierszu $1$ zapisana jest liczba $n$ ($1 \le n \le 100$). Oznacza to, że liczba kart wynosi $2n$.
- W wierszu $2$ zapisana jest liczba operacji $m$ ($1 \le m \le 1000$).
- W $m$ wierszach od wiersza $3$ do wiersza $m + 2$ zapisana jest po $1$ liczbie całkowitej $k$ z przedziału od $0$ do $2n-1$, określającej kolejne metody przekładania kart:
- W przypadku $k = 0$ wykonujemy tasowanie kaskadowe.
- W przypadku $1 \le k \le 2n-1$ wykonujemy przełożenie z liczbą $k$.
Wyjście
Wyjście powinno składać się z $2n$ wierszy. W wierszu $1$ wypisz numer najwyższej karty po zakończeniu przekładania, w wierszu $2$ numer $2$-giej karty od góry po zakończeniu przekładania, i tak dalej — w wierszu $i$ wypisz numer $i$-tej karty od góry.
Przykład
Wejście 1
2 2 1 0
Wyjście 1
2 4 3 1
Wejście 2
3 4 2 4 0 0
Wyjście 2
1 5 4 3 2 6