Олимпиадный тренинг

Задача . A. Коровоконг изучает циклические сдвиги


Коровоконг учится произносить слова! Однажды учитель дал ему новое слово, которое необходимо научиться правильно произносить. Будучи исполнительным студентом, Коровоконг сразу же выполнил задание.

Теперь Коровоконг хочет образовать новые слова, используя данное. Для этого он берёт текущее слово и переставляет его последнюю букву в начало. Такую операцию он называет циклическим сдвигом. Он может применить эту операцию произвольное количество раз, например, последовательно применяя циклический сдвиг к слову «abracadabra», он получит слова «aabracadabr», «raabracadab» и так далее.

Теперь Коровоконг хочет знать, сколько различных слов он может получить, применяя операцию циклического сдвига. Изначальную строку также необходимо учитывать.

Входные данные

В первой строке входных данных записана строка s (1 ≤ |s| ≤ 50) — слово, которое даётся Коровоконгу в самом начале. Строка s содержит только маленькие буквы английского алфавита («a»–«z»).

Выходные данные

Выведите одно целое число, равное количеству различных строк, которые можно получить, применяя операцию циклического сдвига к строке из входных данных.

Примечание

В первом примере Коровоконг может получить строки «abcd», «dabc», «cdab» и «bcda».

Во втором примере не имеет значения, сколько раз Коровоконг применит операцию циклического сдвига, он сможет получить только строку «bbb».

В третьем примере Коровоконг может получить две строки «yzyz» и «zyzy».


Примеры
Входные данныеВыходные данные
1 abcd
4
2 bbb
1
3 yzyz
2

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя