Problem description


Kontakt
(kontakt)
Limit pamięci: 64 MB
Limit czasu: 4.50 s

Trudno o znalezienie osoby równie wytrwałej jak Archibald, a ostatnimi czasy wytrwałość ta przejawia się w próbie odebrania wiadomości od pozaziemskiej cywilizacji. Pomysł na dziś to lokalizowanie możliwie długich, powtarzających się sygnałów na obserwowanym paśmie.

Odczyt z czujników Archibalda jest podzielony na atomowe części, oznaczane wielkimi literami alfabetu angielskiego. Dodatkowo starannie wyznaczona została wartość r taka, że jeśli pewien fragment wiadomości powtarza się przynajmniej r razy, prawdopodobnie jest to przekaz istot rozumnych, a nie zwykły szum. Archibald nie zadowoli się byle ,,Witaj świecie’’, poszukuje więc od razu najdłuższego słowa, które występuje w odczycie jako spójny ciąg przynajmniej r razy, przy czym poszczególne wystąpienia mogą na siebie nachodzić.

Napisz program, który: wczyta liczbę r i ciąg znaków reprezentujący odczyt czujników, wyznaczy najdłuższe podsłowo występujące przynajmniej r razy i wypisze jego długość na standardowe wyjście.

Wejście

W pierwszym wierszu wejścia znajduje się dodatnia liczba naturalna r. W drugim wierszu wejścia znajduje się ciąg wielkich liter alfabetu angielskiego, czyli reprezentacja odczytu czujników.

Wyjście

W pierwszym i jedynym wierszu wyjścia należy wypisać jedną liczbę całkowitą – długość najdłuższego słowa powtarzającego się jako spójny fragment w ciągu wejściowym przynajmniej r razy, lub też liczbę 0, jeśli żadne takie słowo nie istnieje.

Ograniczenia

Długość ciągu z wejścia nie przekracza 300 000. Liczba r jest nie większa od długości tego ciągu.

Przykład

Wejście Wyjście Wyjaśnienie
2
BACACACZAC
4

Szukane podsłowo to ACAC.

Wejście Wyjście Wyjaśnienie
3
THETRUTHISOUTTHERE
2

Szukane podsłowo występujące co najmniej trzykrotnie to: TH.