Задачі
Слова Ліндона
Слова Ліндона
У комбінаториці \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