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

Задача . D. Строка минимальной стоимости


Определим стоимость строки \(s\) как количество пар индексов \(i\) и \(j\) (\(1 \le i < j < |s|\)) таких, что \(s_i = s_j\) и \(s_{i+1} = s_{j+1}\).

Заданы два положительных целых числа \(n\) и \(k\). Среди всех строк длины \(n\), содержащих только первые \(k\) букв латинского алфавита, найдите строку с минимально возможной стоимостью. Если таких строк несколько — найдите любую из них.

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

Единственная строка содержит два целых числа \(n\) и \(k\) (\(1 \le n \le 2 \cdot 10^5; 1 \le k \le 26\)).

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

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


Примеры
Входные данныеВыходные данные
1 9 4
aabacadbb
2 5 1
aaaaa
3 10 26
codeforces

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

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