Олимпиадный тренинг

Задача . D. Построчная склейка


Пусть дана таблица символов \(A\), которая имеет размеры \(r \times c\). Её построчной склейкой назовём строку, получаемую конкатенацией всех её строк, т. е. \(\) A_{11}A_{12} \dots A_{1c}A_{21}A_{22} \dots A_{2c} \dots A_{r1}A_{r2} \dots A_{rc}. \(\)

Таблицу символов \(A\) назовём плохой, если в каких-то двух её соседних клетках (в клетках, имеющих общую сторону) записаны одинаковые символы.

Вам дано целое положительное число \(n\). Рассмотрим все строки \(s\), состоящие только из маленьких латинских букв, которые при это не являются построчной склейкой никакой плохой таблицы. Найдите произвольную такую строку, в которой число различных символов минимально среди всех таких строк длины \(n\).

Можно доказать, что строка, удовлетворяющая всем условиям задачи, всегда существует.

Входные данные

Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число \(t\) (\(1 \le t \le 10^4\)) — количество наборов входных данных. Далее следует описание наборов входных данных.

Единственная строка каждого набора входных данных содержит целое число \(n\) (\(1 \le n \le 10^6\)).

Гарантируется, что сумма значений \(n\) по всем наборам входных данных не превосходит \(10^6\).

Выходные данные

Для каждого набора входных данных выведите строку с минимальным числом различных символов среди всех подходящих строк длины \(n\).

Если существует несколько решений, выведите любое из них.

Примечание

В первом наборе входных данных есть \(3\) способа, как можно построчно вписать строку \(s\) в матрицу, причём все они не являются плохими:

tththat
hat
a
t
Можно доказать, что меньше чем \(3\) различными символами обойтись нельзя.

Во втором наборе входных данных есть \(2\) способа, как можно построчно вписать строку \(s\) в матрицу, причём все они не являются плохими:

iis
s
Можно доказать, что меньше чем \(2\) различными символами обойтись нельзя.

В третьем наборе входных данных есть всего \(1\) способ, как можно построчно вписать строку \(s\) в матрицу, причём он не является плохим.

В четвёртом наборе входных данных есть \(4\) способа, как можно построчно вписать строку \(s\) в матрицу, причём все они не являются плохими:

ttotomtomato
omaato
mto
a
t
o
Можно доказать, что меньше чем \(4\) различными символами обойтись нельзя. Обратите внимание, что, например, строка «orange» не является корректным ответом, поскольку в ней \(6 > 4\) различных символов, строка же «banana» не является корректным ответом, потому что она является построчной склейкой следующей плохой таблицы:
ba
na
na


Примеры
Входные данныеВыходные данные
1 4
4
2
1
6
that
is
a
tomato

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя