Задача №1321. Абракадабра

a

a

b

r

a

k

a

b

r

a

k

a

a

k

a

a

b

r

b

r

a

k

a

a

k

a

a

b

r

a

r

a

k

a

a

b

Во время своей работы алгоритм сжатия данных методом «сортировки блока» применяет к блокам данных преобразование, которое определяется следующим образом.

Строка P называется ротацией строки S, если она образована циклическим сдвигом символов S, т.е. если S=a1a2aN, где aii–ый символ строки S, то P=apap+1aNa1ap-1, где 1pN. Рассмотрим таблицу M размера NN, строками которой есть все ротации строки S, отсортированные в лексикографическом (словарном) порядке
по возрастанию.

Пусть строка L есть последний столбик таблицы M. Прямое преобразование получает на вход строку S, выдает строку L и число Kномер строки таблицы M, который содержит строку S. (Если таких строк несколько, выдается номер любой из них).

Для S='abraka' таблица M изображена на рисунке. Строка S находится во второй строке таблицы M, L=‘karaab’.

Напишите программу, которая выполняет обратное преобразование, т.е. получает на вход строку L и число K, и выдает строку S.

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

Первая строка входного файла содержит два целых числа: K и N, 1N30000, 1&let;KN. Вторая строка содержит N символов строки L — маленьких латинских букв.

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

Единственная строка выходного файла должна содержать строку S.

Примеры
Входные данные
2 3
unn
Выходные данные
nun
Входные данные
3 7
jubcirt
Выходные данные
irtucjb
Сдать: для сдачи задач необходимо войти в систему