Konkurs 16.10.10 - Maxrot

Maxrot

Maxrot

Limit pamięci: 256MB

Dane jest słowo zawierające n znaków. Rotacją cykliczną takiego słowa o i (0 ≤ i < n) nazwiemy słowo powstałe z przeniesienia liter a.(0), ..., a.(i-1) z początku słowa na jego koniec. Wypisz maksymalną leksykograficznie rotację cykliczną danego słowa.

Wejście:

Pierwszy wiersz zawiera liczbę a ze zbioru {1,2} oznaczającą liczbę testów. Drugi wiersz zawiera jedną liczbę naturalną n (1 <= n <= 1 000 000) oznaczającą długość słowa. W trzecim wierszu znajduje się słowo długości n, złożone z małych liter alfabetu angielskiego. Jeśli a==2, to: Czwarty wiersz zawiera jedną liczbę naturalną n (1 <= n <= 1 000 000) oznaczającą długość słowa. W piątym wierszu znajduje się słowo długości n, złożone z małych liter alfabetu angielskiego.

Wyjście:

Jedno słowo, będące maksymalną leksykograficznie rotacją cykliczną pierwszego słowa z wejścia. Jeśli a==2, to także drugie słowo, będące maksymalną leksykograficznie rotacją cykliczną drugiego słowa z wejścia.

Przykład:

Dla wejścia:
1
20
debbbdcadcebebecbaad
poprawnym wyjściem jest:
ecbaaddebbbdcadcebeb