B. Построить строку
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вам даны три целых положительных числа $$$n$$$, $$$a$$$ и $$$b$$$. Вам хочется построить такую строку $$$s$$$ длины $$$n$$$, состоящую из строчных букв латинского алфавита, что каждая подстрока длины $$$a$$$ содержит ровно $$$b$$$ различных букв. Гарантируется, что ответ существует.

Вам нужно ответить на $$$t$$$ независимых наборов тестовых данных.

Напомним, что подстрокой строки $$$s[l \dots r]$$$ называется строка $$$s_l, s_{l+1}, \dots, s_{r}$$$, длина которой равна $$$r - l + 1$$$. В этой задаче вам интересны только подстроки длины $$$a$$$.

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

Первая строка теста содержит одно целое число $$$t$$$ ($$$1 \le t \le 2000$$$) — количество наборов тестовых данных. Затем следуют $$$t$$$ наборов тестовых данных.

Единственная строка каждого набора содержит три разделенных пробелами целых числа $$$n$$$, $$$a$$$ и $$$b$$$ ($$$1 \le a \le n \le 2000, 1 \le b \le \min(26, a)$$$), где $$$n$$$ — длина необходимой строки, $$$a$$$ — длина подстроки, а $$$b$$$ — требуемое количество различных букв в каждой подстроке длины $$$a$$$.

Гарантируется, что сумма чисел $$$n$$$ по всем наборам тестовых данных не превосходит $$$2000$$$ ($$$\sum n \le 2000$$$).

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

Для каждого набора тестовых данных выведите ответ на него — такую строку $$$s$$$ длины $$$n$$$, состоящую из строчных букв латинского алфавита, что каждая подстрока длины $$$a$$$ содержит ровно $$$b$$$ различных букв. Если ответов несколько, выведите любой из них. Гарантируется, что ответ существует.

Пример
Входные данные
4
7 5 3
6 1 1
6 6 1
5 2 2
Выходные данные
tleelte
qwerty
vvvvvv
abcde
Примечание

В первом наборе тестовых данных примера посмотрим на все подстроки длины $$$5$$$:

  • «tleel» — в ней три различных буквы $$$3$$$,
  • «leelt» — в ней три различных буквы $$$3$$$,
  • «eelte» — в ней три различных буквы $$$3$$$.