Рутинная работа

아직 제출이 없습니다시간 제한2초메모리 제한1024 MB

문제

Вчера Альф в очередной раз провинился --- опять чуть не съел Лаки. На этот раз Вилли решил проучить Альфа.

В кладовке у него как раз завалялись $n+1$ очередь и $n$ стеков. Причем в одной из очередей также находилось $2^n$ различных целых чисел от $1$ до $2^n$. Вилли выложил перед Альфом все очереди и стеки в чередующемся порядке --- сначала идет очередь, потом стек, потом опять очередь, и так далее, последней Вилли выложил очередь. Причем очередь с числами оказалась первой.

Все, что Альф может делать с этими стеками и очередями --- вынуть из структуры данных номер $i$ первое число (для стека это число на вершине, для очереди --- число, находящееся в голове) и добавить его в структуру данных номер $i+1$ (в случае стека число добавится на его вершину, в случае очереди --- в хвост). Теперь Вилли просит Альфа отсортировать все числа из первой очереди --- сделать несколько операций над этими структурами данных, чтобы все числа находились в последней очереди, а также располагались там в возрастающем порядке. То есть должно быть выполнено, что в голове очереди находится число $1$, в хвосте очереди --- $2^n$, а между ними числа должны быть отсортированы.

Вилли утверждает, что отсортировать числа гарантированно можно за $2 \cdot 2^{n} \cdot n$ операций. Помогите Альфу понять, как нужно применять эти операции, чтобы выполнить задание Вилли.

입력

В первой строке входного файла дано целое число $n$ ($1 \le n \le 15$) --- число стеков. Во второй строке входного файла дано $2^n$ различных чисел $a_i$ ($1 \le a_i \le 2^n$) --- исходный набор чисел.

출력

В первой и единственной строке выходного файла выведите $2 \cdot 2^{n} \cdot n$ чисел $b_i$ ($1 \le b_i \le 2n$) --- номер структуры данных, из которой извлекается число на $i$-м шаге вашего решения. Данная структура не должна быть пуста.