Двійкові маніпуляції
У Козака Вуса суцільні двійки з інформатики... Ні, не тому що він погано володіє комп'ютером. Просто віднедавна усі завдання слід виконувати на спеціальному автоматі, який дуже полюбляє степені двійки.
Степінь двійки — число вигляду , де — ціле невід'ємне число. Наприклад, числа — степені двійки, а ось — ні.
Автомат оперує масивом цілих чисел довжини , причому — степінь двійки. Усе, що вміє автомат, — переставити число з -ої позиції на початок масиву, зсунувши при цьому всі числа, що стоять від початку до цієї позиції. Наприклад, якщо і ми переставляємо -ий елемент на початок, отримаємо . Зверніть увагу, що автомат уміє виконувати цю операцію лише для , що є степенем двійки.
Вус зі всіх сил намагається виконати останнє домашнє завдання — для заданого масиву написати послідовність , яка б перетворила масив на відсортований за неспаданням. Щось йому вдається, але він просить Вас зробити те саме, щоб звірити відповіді. Допоможіть йому, знайшовши таку послідовність!
Вхідні дані
Перший рядок містить два цілі числа та (, ) — довжина масиву та номер блоку. Гарантується, що — степінь двійки.
Наступний рядок містить рівно цілих чисел () — елементи масиву.
Вихідні дані
У першому рядку виведіть одне ціле число () — кількість команд.
У другому рядку виведіть цілих чисел () — послідовність команд, що сортує масив. Таких послідовностей може бути багато, тому виведіть будь-яку (не обов'язково найменшої довжини).
Приклади
Примітка
У першому прикладі масив був . Після перестановки другого елемента отримаємо . Далі двічі переставляємо останній елемент, отримуючи спочатку , а потім . Останнім ходом переставляємо другий елемент на перше місце, отримуючи — відсортований за неспаданням масив.
У другому прикладі масив був . Після перестановки четвертого елемента отримаємо . Далі переставляємо другий елемент, отримуючи . Укінці переставляємо останній елемент, отримуючи — упорядкований масив.
Оцінювання
( балів): ; усі числа різні;
( балів): ; усі числа різні;
( балів): ; усі числа різні;
( бали): рівно чисел масиву — одиниці, усі інші — двійки;
( бали): усі числа різні;
( балів): без додаткових обмежень.