Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Алгоритмы
Курсы ККДП
Дистрибутивы
Ссылки

HotLog


 

Дана строка

(Время: 1 сек. Память: 16 Мб Сложность: 37%)

Васе уже надоели задачи на строки! А Вам? А что делать? Что ж, приступим. Дана строка из маленьких букв английского алфавита. Разрешается любой ее символ сдвинуть не более, чем на K позиций в любую сторону так, чтобы в конечном счете они все встали на разные позиции (кроме случая, когда K=0). Например, если строка - aababac, а K = 2, то таким образом можно получить строки abaaabc или aaaabbc, но нельзя - aaacbab или aaaacbb.

Вася хочет сделать так, чтобы получившаяся с помощью такой операции строка была минимально возможной лексикографически (т.е. расположена раньше всех по правилам упорядочивания слов в словаре). Как же ему быть?

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

В первой строке входного файла INPUT.TXT задано число K (K ≥ 0). Во второй строке задана сама исходная непустая строка, длиной не более 100 000 маленьких английских букв. Гарантируется, что K не превосходит длины строки.

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

В выходной файл OUTPUT.TXT выведите лексикографически минимальный из возможных результатов.

Пример

INPUT.TXTOUTPUT.TXT
12
aababac
aaaabbc

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

[Обсуждение] [Все попытки] [Лучшие попытки]

Красноярский краевой Дворец пионеров, (c)2006 - 2018, ICQ: 151483, E-mail: admin@acmp.ru