Турнир по армрестлингу
Как вы, возможно, слышали, мистер Кумис организует турнир по армрестлингу. В этом турнире участвуют 2^N участников, пронумерованных от 1 до 2^N. Первый участник (C_1) будет соревноваться со вторым (C_2). C_3 будет соревноваться с C_4, и так далее. Победитель из пары C_1 и C_2 встретится с победителем из пары C_3 и C_4. Победитель из C_5 и C_6 сразится с победителем из C_7 и C_8, и так далее (см. диаграмму ниже).
Каждый участник имеет начальную силу P_i. В поединке побеждает более сильный, но его сила уменьшается на величину силы противника. Перед следующим матчем участник может восстановить до K единиц силы, но не более своей начальной силы (Pi). Если силы равны, побеждает участник с меньшим номером.
Зная начальную силу всех участников, определите, кто выиграет турнир и кого он победит.
Входные данные
Первая строка входных данных содержит целое число T (T ≤ 100), обозначающее количество тестов. Каждый тест начинается с двух целых чисел N (1 ≤ N ≤ 15) и K (0 ≤ K ≤ 1,000). Следующая строка содержит 2^N целых чисел Pi (1 ≤ Pi ≤ 1,000), представляющих начальную силу i-го участника для i = 1..2^N.
Выходные данные
Для каждого теста выведите две строки. Первая строка содержит номер победителя турнира. Вторая строка содержит N целых чисел, представляющих участников, которых победитель одолел, в порядке матчей. Каждое число разделено пробелом.