만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

길이와 주기

시간 제한2초메모리 제한512 MB

요약
소문자로 된 길이 20만 이하의 문자열이 주어질 때, 부분 문자열이 연속으로 반복되는 최대 지수를 기약분수로 구합니다.
난이도

어려움10점 중 9점

유형
문자열, 문자열 매칭, 분할 정복
정답자
아직 제출이 없습니다

문제

수학과 컴퓨터 과학에서 문자열의 임계 지수(critical exponent)는 연속된 부분 문자열이 연달아 반복되는 횟수의 최댓값이다. 이 값은 분수가 될 수 있다. 예를 들어 "Mississippi"의 임계 지수는 7/37/3이다. 이 문자열에는 길이가 7이고 주기가 3인 부분 문자열 "ississi"가 들어 있기 때문이다. 공백이 아닌 문자열 ww와 xx를 생각한다. 양의 유리수 α\alpha에 대해, ww의 부분 문자열 yy가 y=xnx0y = x^n x_0 꼴로 존재하면 xx는 지수 α\alpha로 ww에 나타난다고 한다. 여기서 xnx^n은 xx를 nn번 반복한 문자열, x0x_0는 xx의 접두사, nn은 α\alpha의 정수 부분이며, ∣y∣=α∣x∣|y| = \alpha |x|이다. ww의 임계 지수는 ww에 나타나는 모든 xαx^\alpha의 α\alpha 중 최댓값이다.

입력

첫 줄에 영소문자로만 이루어진 문자열 ww가 주어진다. 길이는 1≤∣w∣≤200 0001 \le |w| \le 200\,000이다.

출력

ww의 임계 지수를 기약분수 p/qp/q 꼴로 출력한다. 여기서 pp와 qq는 앞에 0이 붙지 않는 정수이다.

예제2

  1. 예제 1

    입력
    mississippi
    
    예상 출력
    7/3
    
  2. 예제 2

    입력
    abab
    
    예상 출력
    2/1