Periodic Strings

Define a *$k$-periodic string* as
follows:

A string $s$ is
*$k$-periodic* if the length of the
string $|s|$ is a multiple
of $k$, and if you chop
the string up into $|s|/k$
substrings of length $k$,
then each of those substrings (except the first) is the same as
the previous substring, but with its last character moved to
the front.

For example, the following string is *$3$-periodic*:

The above string can break up into substrings `abc`, `cab`, `bca`, and `abc`, and
each substring (except the first) is a right-rotation of the
previous substring (`abc -> cab ->
bca -> abc`)

Given a string, determine the smallest k for which the string is k-periodic.

Each input will consist of a single test case. Note that your program may be run multiple times on different inputs. The single line of input contains a string $s$ ($1 \le |s| \le 100$) consisting only of lowercase letters.

Output the integer $k$,
which is the smallest $k$
for which the input string is *$k$-periodic*.

Sample Input 1 | Sample Output 1 |
---|---|

aaaaaaaa |
1 |

Sample Input 2 | Sample Output 2 |
---|---|

abbaabbaabba |
2 |

Sample Input 3 | Sample Output 3 |
---|---|

abcdef |
6 |

Sample Input 4 | Sample Output 4 |
---|---|

abccabbcaabc |
3 |