Informatica Online Judge

  주기 [0627 / 0273]

Time Limit(Test case) : 1000 (ms)
Number of users who solved : 39   Total Tried : 47


The Champion of this Problem (C++) : gs15120 - 0ms / 1190byte
My Best Submission (C++) : N/A

[]

Background

어떤 문자열이 주어졌을 때 그 문자열을 연속된 부분 문자열의 반복으로 나타낼 수 있다. 예를 들어, 문자열 abababab은 연속된 부분 문자열 ab의 4번 반복으로 나타낼 수 있고 또 연속된 부분 문자열 abab의 2번 반복으로도 나타낼 수 있으며 마지막으로 연속된 부분 문자열 abababab의 1번 반복으로도 나타낼 수 있다.

길이가 N인 문자열이 주어질 때, 가장 짧은 연속된 부분 문자열로 주어진 문자열을 나타내는 방법을 찾는 프로그램을 작성 하시오.

Input

첫 째 줄에 길이 N의 영어 알파벳 소문자 구성된 문자열이 주어진다. N은 1 이상 1,000,000 이하이다.

Output

첫째 줄에 주어진 문자열을 나타낼 수 있는 가장 짧은 연속된 부분 문자열의 길이를 출력한다.

IO Example

입력
abababab

출력
2

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]