$1$-ден $2n$-ге дейінгі сандар жазылған $2n$ карта бар, олар жоғарыдан төмен қарай $1, 2, 3, \ldots, 2n$ ретімен жиналып тұр.
Бұл карталарды келесі әдістерді бірнеше рет қолдану арқылы қайта реттейді:
Бүтін $k$ санымен кесу (cut)
Карталарды жоғарыдан санағандағы алғашқы $k$ картадан тұратын A бумасына және қалған $2n-k$ картадан тұратын B бумасына бөлгеннен кейін, A бумасының үстіне B бумасын қояды.
Риффл шаффл (Riffle shuffle)
Карталарды жоғарыдан санағандағы алғашқы $n$ картадан тұратын A бумасына және қалған $n$ картадан тұратын B бумасына бөліп, жоғарыдан бастап A-ның $1$-ші картасы, B-ның $1$-ші картасы, A-ның $2$-ші картасы, B-ның $2$-ші картасы, $\ldots$, A-ның $n$-ші картасы, B-ның $n$-ші картасы болатындай етіп $1$ бумаға біріктіреді.
Енгізу деректеріндегі нұсқауларға сәйкес карталарды қайта реттегеннен кейін, карталардың нөмірлерін жоғарыдан бастап ретімен шығаратын программа жазыңыз.
Енгізу форматы
- $1$-ші жолда $n$ ($1 \le n \le 100$) саны жазылған. Яғни карталардың саны — $2n$.
- $2$-ші жолда амалдар саны $m$ ($1 \le m \le 1000$) жазылған.
- $3$-ші жолдан $m + 2$-ші жолға дейінгі $m$ жолда $0$-ден $2n-1$-ге дейінгі $1$ бүтін сан $k$ жазылған, ол карталарды қайта реттеу әдісін ретімен көрсетеді:
- $k = 0$ болған жағдайда риффл шаффл орындалады.
- $1 \le k \le 2n-1$ болған жағдайда $k$ санымен кесу орындалады.
Шығару форматы
Шығару деректері $2n$ жолдан тұрады. $1$-ші жолға қайта реттеу аяқталғаннан кейінгі ең үстіңгі картаның нөмірін, $2$-ші жолға қайта реттеу аяқталғаннан кейінгі жоғарыдан санағанда $2$-ші картаның нөмірін, дәл сол сияқты $i$-ші жолға жоғарыдан санағанда $i$-ші картаның нөмірін шығарыңыз.
Мысалдар
Енгізу форматы 1
2 2 1 0
Шығару форматы 1
2 4 3 1
Енгізу форматы 2
3 4 2 4 0 0
Шығару форматы 2
1 5 4 3 2 6