Alice dan Bob suka memainkan permainan kartu, dengan setumpuk kartu bernomor dengan bilangan bulat non-negatif berturut-turut.
Alice memiliki cara yang sangat khusus untuk mengocok dek. Pertama, dia mengambil kartu paling atas dari geladak dan meletakkannya di bagian bawah geladak. Lalu dia mengeluarkan kartu berikutnya, dan mulai tumpukan dengan itu. Kemudian, lagi-lagi dia memutar kartu teratas ke bawah, dan meletakkan kartu teratas baru ke tumpukan. Dia mengulangi proses ini sampai dia mengosongkan dek, di mana titik tumpukan adalah dek baru.
deck | pile
-----------+-----------
3 1 4 0 2 |
1 4 0 2 3 |
4 0 2 3 | 1
0 2 3 4 | 1
2 3 4 | 0 1
3 4 2 | 0 1
4 2 | 3 0 1
2 4 | 3 0 1
4 | 2 3 0 1
| 4 2 3 0 1
4 2 3 0 1 |
Gambar 1: Alice melakukan shuffle-nya di dek 5-kartu "3, 1, 4, 0, 2". Bagian belakang kartu semuanya menghadap ke kiri.
Suatu hari, Bob mengumumkan dia akan berlibur selama seminggu. Alice, yang tidak memiliki siapa pun untuk bermain game, mendaftarkan temannya Eve. Sekarang, Eve adalah penipu yang tak tahu malu, jadi ketika dia melihat pengocokan aneh Alice, dia menyadari bahwa dia bisa menumpuk dek sebelumnya untuk keuntungannya!
Ketika Eve pulang setelah hari pertama, dia melakukan beberapa analisis pada permainan dan menemukan bahwa peluang terbaiknya adalah ketika kartu berada di urutan 0, 1, 2, 3, 4, 5, ... Dia tidak menangkap berapa banyak kartu yang ada di geladak, jadi dia menetas skema yang tidak jelas untuk menulis beberapa kode di lengannya yang, ketika dijalankan, mengambil ukuran geladak dan menampilkan urutan yang diperlukan Hawa untuk memasukkan kartunya, sehingga ketika Alice mengocok dek, dek terakhir ada di urutan 0, 1, 2, 3, ...
Hawa tidak peduli apa bahasa kode itu (dia tahu semuanya), atau apakah kode tersebut adalah fungsi yang mengambil argumen integer dan mengembalikan array, atau program penuh mengambil input melalui argumen baris perintah atau STDIN dan menulis hasilnya ke STDOUT. Namun, dia membutuhkan kode sesingkat mungkin, untuk memperkecil kemungkinan Alice melihatnya dan menangkapnya.
Tidak bermoral, bisakah kalian membantu Hawa?
Contoh input dan output:
in out
1 0
2 0 1
5 2 4 0 3 1
10 2 9 4 8 0 7 3 6 1 5
52 6 51 25 50 12 49 24 48 1 47 23 46 11 45 22 44 5 43 21 42 10 41 20 40 2 39 19
38 9 37 18 36 4 35 17 34 8 33 16 32 0 31 15 30 7 29 14 28 3 27 13 26
shuffle(shuffle(range(5))) == range(5)
...