```go
package main
import (
"bufio"
"fmt"
"os"
)
func gcd(a, b int) int {
for b != 0 {
a, b = b, a%b
}
return a
}
func main() {
in := bufio.NewReader(os.Stdin)
var s string
fmt.Fscan(in, &s)
n := len(s)
if n == 0 {
fmt.Println(0)
return
}
for p := 1; p <= n; p++ {
if n%p != 0 {
continue
}
ok := true
for i := p; i < n && ok; i++ {
if s[i] != s[i%p] {
ok = false
}
}
if ok {
fmt.Println(n / gcd(n, p))
return
}
}
fmt.Println(n)
}
```