← Home
```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)
}
```