Ci sono $2n$ carte su cui sono scritti i numeri da $1$ a $2n$, impilate nell'ordine $1, 2, 3, \ldots, 2n$ dall'alto verso il basso.
Queste carte vengono riordinate utilizzando più volte i seguenti metodi:
Taglio con l'intero $k$
Dopo aver diviso il mazzo nel mucchio A formato dalle prime $k$ carte dall'alto e nel mucchio B formato dalle restanti $2n-k$ carte, si posiziona il mucchio B sopra il mucchio A.
Mescolamento all'americana (Riffle shuffle)
Si divide il mazzo nel mucchio A formato dalle prime $n$ carte dall'alto e nel mucchio B formato dalle restanti $n$ carte, e si uniscono in $1$ unico mucchio in modo che dall'alto ci siano nell'ordine: la $1$ª carta di A, la $1$ª carta di B, la $2$ª carta di A, la $2$ª carta di B, $\ldots$, la $n$-esima carta di A, la $n$-esima carta di B.
Scrivete un programma che riordini le carte seguendo le istruzioni dell'input e stampi i numeri delle carte dopo il riordinamento, in ordine dall'alto verso il basso.
Input
- Sulla riga $1$ è scritto $n$ ($1 \le n \le 100$). Vale a dire che il numero di carte è $2n$.
- Sulla riga $2$ è scritto il numero di operazioni $m$ ($1 \le m \le 1000$).
- Nelle $m$ righe dalla riga $3$ alla riga $m + 2$ è scritto $1$ intero $k$ compreso tra $0$ e $2n-1$, che specifica nell'ordine il metodo per riordinare le carte:
- Nel caso $k = 0$, si esegue un mescolamento all'americana.
- Nel caso $1 \le k \le 2n-1$, si esegue un taglio con $k$.
Output
L'output deve consistere di $2n$ righe. Sulla riga $1$ stampate il numero della carta più in alto al termine del riordinamento, sulla riga $2$ il numero della $2$ª carta dall'alto al termine del riordinamento, e così via, stampando sulla riga $i$ il numero della $i$-esima carta dall'alto.
Esempi
Input 1
2 2 1 0
Output 1
2 4 3 1
Input 2
3 4 2 4 0 0
Output 2
1 5 4 3 2 6