Задачи
Слова Линдона
Слова Линдона
В комбинаторике \textit{словом Линдона} длины \textbf{n} на алфавите \textbf{Σ} называется строка из \textbf{n} символов этого алфавита, которая строго меньше всех своих собственных суффиксов. Слова Линдона также называют \textit{простыми строками}.
К примеру, на алфавите \textbf{Σ = \{a, b\}} с обычным порядком на буквах (\textbf{a} < \textbf{b}) есть шесть различных слов Линдона длины \textbf{n = 5}: "\textbf{aaaab}", "\textbf{aaabb}", "\textbf{aabab}", "\textbf{aabbb}", "\textbf{ababb}" и "\textbf{abbbb}".
По заданным \textbf{n} и \textbf{k} найдите \textbf{k}-ое лексикографически слово Линдона длины \textbf{n} на алфавите \textbf{Σ = \{a, b\}}. Слова нумеруются, начиная с единицы.
\InputFile
В первой строке входного файла заданы через пробел два целых числа \textbf{n} и \textbf{k} - длина и порядковый номер слова Линдона, соответственно (\textbf{1} ≤ \textbf{n} ≤ \textbf{25}). Гарантируется, что слово длины \textbf{n} с таким номером \textbf{k} существует.
\OutputFile
В первой строке выходного файла выведите требуемое слово Линдона.
Входные данные #1
3 1
Выходные данные #1
aab