Недавно вы устроились дилером в казино. В вашу задачу входит разложение карт в случайном порядке. В казино, в котором вы работаете, используется следующий алгоритм перемешивания новой колоды карт:
В качестве параметра $$$a$$$ передается упорядоченная колода из $$$n$$$ карт (карты пронумерованы от $$$0$$$ до $$$n-1$$$). В качестве параметра $$$s$$$ передается случайное $$$32$$$-битное целое беззнаковое число.
Только кажется этот алгоритм был скомпрометирован. Вы уже перемешали колоду и готовы к новой раздаче, когда узнали это. Случайный параметр перемешивания, к сожалению, никто никуда не записал в целях безопасности. Руководство предложило выход: перемешать колоду еще раз! Так, используя seed, который остался в памяти компьютера после первого перемешивания, перемешайте данную вам перемешанную колоду еще раз.
Каково будет удивление игрока, когда колода, заряженная в киоске будет разложена в другом порядке!
В первой строке входного файла содержится одно целое число $$$n$$$ — размер колоды.
Во второй строке содержатся $$$n$$$ разделенных пробелом целых чисел $$$a_0, a_1, \dots, a_{n-1}$$$ — перемешанная колода карт. Все числа $$$a_0, a_1, \dots, a_{n-1}$$$ — различны.
$$$$$$1024 \le n \le 1 \, 048 \, 576$$$$$$ $$$$$$0 \le a_0,a_1,\dots,a_{n-1} \le n - 1$$$$$$
Выведите одну строку содержащую $$$n$$$ целых чисел через пробел — колоду, перемешанную повторно.
5 1 2 3 4 0
3 2 0 4 1
Пример в условии приведен только для ознакомления с форматом ввода и вывода и не будет использоваться в наборе тестов при тестировании посылок.
Name |
---|