Теперь, когда количество шкафов посчитано, и Леонидас и Роберт смогли их изготовить, перед Рудольфом встала не менее важная и сложная проблема: такая важная энциклопедия, как Сверхбольшая Энциклопедия Структур Данных, не может стоять абы как, её тома должны стоять в _правильном_ порядке, чтобы их было удобно искать и читать.
Тома нумеруются различными целыми числами от 1 до n. _Правильный_ порядок предполагает, что тома расставлены по возрастанию количества единичных бит в двоичном представлении их номеров, а если для нескольких томов это количество совпадает — по возрастанию номеров томов.
Тома энциклопедии ставятся в шкаф начиная с верхней полки, слева направо. Том ставится в следующий шкаф только в том случае, если предыдущий шкаф полностью заполнен.
Вручную определять порядок томов оказалось утомительным даже для такого сильного математика, как Рудольф. Помогите ему написать программу, которая подскажет, как расставить тома энциклопедии в конкретном шкафу.
Первая строка содержит целые числа n, l и k (1 ≤ n ≤ 1000, 1 ≤ l ≤ 100, 1 ≤ k ≤ 100) — соответственно количество томов энциклопедии, количество полок в одном шкафу и количество томов, которые умещаются на одной полке.
Вторая строка содержит целое число m (1 ≤ m ≤ 1000) — номер шкафа, который интересует Рудольфа. Гарантируется, что шкаф m будет заполнен полностью или частично.
Выведите одну или более строк, каждая из которых содержит номера томов энциклопедии, которые будут стоять в шкафу m, в «_правильном_» порядке.
## Входные Данные
Первая строка содержит целые числа n, l и k (1 ≤ n ≤ 1000, 1 ≤ l ≤ 100, 1 ≤ k ≤ 100) — соответственно количество томов энциклопедии, количество полок в одном шкафу и количество томов, которые умещаются на одной полке. Вторая строка содержит целое число m (1 ≤ m ≤ 1000) — номер шкафа, который интересует Рудольфа. Гарантируется, что шкаф m будет заполнен полностью или частично.
## Выходные Данные
Выведите одну или более строк, каждая из которых содержит номера томов энциклопедии, которые будут стоять в шкафу m, в «_правильном_» порядке.
## Примеры
Входные данные10 2 32Выходные данные69107Входные данные6 2 21Выходные данные1243
[samples]
**Definitions**
Let $ n, l, k \in \mathbb{Z}^+ $: number of volumes, shelves per cabinet, volumes per shelf.
Let $ m \in \mathbb{Z}^+ $: target cabinet index.
Let $ V = \{1, 2, \dots, n\} $ be the set of volume indices.
For each volume $ i \in V $, define $ b(i) = \text{popcount}(i) $, the number of 1-bits in the binary representation of $ i $.
Define the ordering $ \prec $ on $ V $:
$ i \prec j $ if and only if $ b(i) < b(j) $, or $ b(i) = b(j) $ and $ i < j $.
Let $ A = (a_1, a_2, \dots, a_n) $ be the sequence of volumes sorted by $ \prec $.
Each cabinet holds $ l \cdot k $ volumes.
The volumes in cabinet $ m $ are $ A_{(m-1) \cdot l \cdot k + 1}, A_{(m-1) \cdot l \cdot k + 2}, \dots, A_{\min(m \cdot l \cdot k, n)} $.
**Objective**
Output the volumes in cabinet $ m $, arranged in $ l $ rows (shelves), each row containing $ k $ volumes (or fewer for the last row if incomplete), in left-to-right order.