// Arup Guha
// 11/5/2016
// Solution to SER 2016 Division II Problem H: Periodic Strings (also in D1 set)

import java.util.*;

public class periodic {

	public static void main(String[] args) {
		Scanner stdin = new Scanner(System.in);
		String s = stdin.next();
		System.out.println(solve(s));
	}

	public static int solve(String s) {

		// Just try each period...
		for (int i=1; i<=s.length(); i++) {
			if (s.length()%i != 0) continue;
			if (periodic(s, i)) return i;
		}
		return s.length();
	}

	public static boolean periodic(String s, int len) {

		// This is our initial cut.
		String cut = s.substring(0, len);
		
		// Check each required substring for equality.
		for (int i=len; i<s.length(); i+= len) {
			String next = s.substring(i, i+len);
			if (!match(cut, next)) return false;
			cut = next;
		}
		
		// If we get here, we're good!
		return true;
	}

	// Checks for the wrap around match. Case of length 1 is annoying!
	public static boolean match(String s, String t) {
		for (int i=0,j=1%t.length(); i<s.length(); i++,j=(j+1)%s.length())
			if (s.charAt(i) != t.charAt(j))
				return false;
		return true;
	}
}