Компания Naudio планирует создание и выпуск нового производительного процессора для обработки аудио-данных. Набор команд процессора должен содержать $$$K$$$ команд.
Каждая команда процессора — двоичная строка некоторой фиксированной длины $$$Len$$$. Вам поручено определить кодировку каждой из $$$K$$$ команд, то есть определить их двоичный вид, соблюдая следующие условия:
Формально, пусть $$$i$$$ и $$$j$$$ $$$(1 \leq i, j \leq len)$$$ — номера каких-то бит в команде. Тогда $$$|cnt_k(i) - cnt_k(j)| \leq 1$$$ для любой пары $$$i, j$$$.
Здесь $$$cnt_k(i)$$$ определяется как количество команд, в которых $$$i$$$-й бит был равен единице.
В первой строке входные данных содержится одно целое число $$$T$$$ ($$$1 \leq T \leq 10$$$) — количество прототипов процессора.
Каждая из следующих $$$T$$$ строк состоит из одного целого числа $$$K_i$$$ ($$$1 \leq K_i \leq 10^4$$$) — требуемого количества команд в наборе команд $$$i$$$-го прототипа процессора Naudio.
Для $$$i$$$-го прототипа выведите:
Если корректных ответов несколько, выведите любой.
Гарантируется, что ответ всегда существует в заданных ограничениях задачи.
3123
2 01 2 01 10 4 1110 1101 0111
Первый прототип
В данном случае необходима одна команда.
Минимальная подходящая длина $$$Len$$$ равна $$$2$$$ (т.к. она обязана быть четной).
Всего возможно четыре варианта:
Можно вывести любую из них.
Второй прототип
Длина и набор возможных команд аналогичен первому прототипу.
В то же время подходит только пара команд 01 и 10 (в любом порядке), так как любая другая пара команд будет различаться по количеству единичных бит.
Третий прототип.
В данном случае длины $$$2$$$ уже не хватит, поэтому $$$Len = 4$$$.
Каждая из использованных команд содержит ровно $$$3$$$ единичных бита.
Рассмотрим, сколько команд содержат каждый бит:
Видно, что количество команд с каждым битом отличается не более, чем на 1.