توجد $2n$ بطاقة مكتوب عليها الأعداد من $1$ إلى $2n$، مكدسة بالترتيب $1, 2, 3, \ldots, 2n$ من الأعلى.
يتم إعادة ترتيب هذه البطاقات باستخدام الطرق التالية عدة مرات:
القطع بالعدد الصحيح $k$
بعد تقسيم البطاقات إلى كومة A مكونة من أعلى $k$ بطاقة وكومة B مكونة من البطاقات المتبقية وعددها $2n-k$، نضع الكومة B فوق الكومة A.
الخلط المتداخل (Riffle shuffle)
نقسم البطاقات إلى كومة A مكونة من أعلى $n$ بطاقة وكومة B مكونة من البطاقات المتبقية وعددها $n$، وندمجها في كومة واحدة ($1$) بحيث تصبح من الأعلى بالترتيب: البطاقة $1$ من A، البطاقة $1$ من B، البطاقة $2$ من A، البطاقة $2$ من B، $\ldots$، البطاقة $n$ من A، البطاقة $n$ من B.
اكتب برنامجًا يعيد ترتيب البطاقات وفقًا لتعليمات الإدخال، ويطبع أرقام البطاقات بعد إعادة الترتيب بالترتيب من الأعلى.
الإدخال
- السطر $1$ يحتوي على $n$ ($1 \le n \le 100$). أي أن عدد البطاقات هو $2n$.
- السطر $2$ يحتوي على عدد العمليات $m$ ($1 \le m \le 1000$).
- الأسطر الـ $m$ من السطر $3$ إلى السطر $m + 2$ يحتوي كل منها على عدد صحيح واحد ($1$) هو $k$ بين $0$ و $2n-1$، ويحدد بالترتيب طريقة إعادة ترتيب البطاقات:
- في حالة $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