eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Слова Ліндона

Слова Ліндона

У комбінаториці \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 У першому рядку вихідного файлу виведіть потрібне слово Ліндона.
Ліміт часу 2 секунди
Ліміт використання пам'яті 256 MiB
Вхідні дані #1
3 1
Вихідні дані #1
aab
Автор Іван Казменко
Джерело DTU Training & Testing 2