Турнір з армреслінгу
Як ви могли чути, пан Куміс проводить турнір з армрестлінгу. У цьому турнірі беруть участь 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 цілих чисел, які є всіма учасниками, яких переможець переміг у порядку матчів. Кожне число відокремлене одним пробілом.