0276. Записка

Имя входного файла: letter.in
Имя выходного файла: letter.out
Ограничение по времени: 2 s
Ограничение по памяти: 256 megabytes

Леонард и Пенни поругались. Леонард пытается извиниться, поэтому он написал записку, в которой он просит прощения. Но просто отдать записку  – не интересно, поэтому Леонард её зашифровал. Чтобы по зашифрованному тексту получить исходный требуется k раз применить к тексту операцию циклического сдвига вправо. К сожалению, у Пенни нет компьютера, поэтому она попросила вас помочь ей расшифровать записку Леонарда.

Циклическим сдвигом строки s вправо называется строка t такая, что t1 = s|s|, t2 = s1, … t|s| = s|s| - 1, где |s|  – длина строки s, а si  – i-ый символ строки.

Рассмотрим все циклические сдвиги строки abcde

  1. eabcd
  2. deabc
  3. cdeab
  4. bcdea
  5. abcde

Формат входного файла

В первой строке входного файла задано два целых числа n и k (1 ≤ k ≤ n ≤ 100000)  – длина зашифрованный строки и количество циклических сдвигов соответственно. Во втрой строке входного файла находится текст записки. Текст состоит из строчных и прописных букв латинского алфавита, пробелов ( ), запятых (,) и точек (.).

Формат выходного файла

В единственной строке выходного файла выведите расшифрованный текст записки.

Пример:

letter.inletter.out
56 5 sorry, I am idiot. Give me one more chance, please.I am I am sorry, I am idiot. Give me one more chance, please.
46 33 far too longAnd I miss you, been far away for And I miss you, been far away for far too long
5 1 bcdea abcde
5 5 abcde abcde
Обратите внимание, что строка во втором примере входного файла начинается с пробела.


Источник: Первенство первокурсника ПетрГУ. Май 2012

Обсудить       Отправить решение



Версия для печати