Задача №111774. Суффиксы
Назовём строкой последовательность из маленьких букв латинского алфавита. Строкой, например, является пустая последовательность, слово «aabaf» или бесконечная последовательность букв «a».
i-ый суффикс Si строки S — это строка S, из которой вырезаны первые i букв; так, для строки S = aabaf суффиксы будут такими:
- S0 = aabaf
- S1 = abaf
- S2 = baf
- S3 = af
- S4 = f
- S5 = S6 = S7 = ... = «»
Суффиксы определены для всех i \(\ge\) 0.
Циклическое расширение S * конечной строки S — это строка, полученная приписыванием её к самой себе бесконечное количество раз. Так,
- S * = S * 0 = aabafaabafaabafaa...
- S * 1 = abafabafabafabaf...
- S * 2 = bafbafbafbafbafb...
- S * 3 = afafafafafafafaf...
- S * 4 = ffffffffffffffff...
- S * 5 = S * 6 = S * 7 = ... = ""
По заданной строке S выясните, сколько её суффиксов Si имеют такоей же циклическое расширениe, как и строка S, то есть количество таких i, что S * = S * i.
В первой и единственной строке входного файла задана строка S, состоящая из не менее, чем одной, и не более, чем 100000 маленьких латинских букв 'a'-'z'.
Выведите в первую строку выходного файла одно число — количество суффиксов строки S, имеющих такое же циклическое расширение, как и она сама.
aa
2
ab
1
qqqq
4
xyzzyxy
1