S = raw_input() slist = [] for i in range(0, len(S)): slist.append(S[i]) stack = [[[], slist]] memo = [slist] while stack != []: now = stack.pop(-1) if now[1] != []: a = [] b = [] for i in range(0, len(now[0])): a.append(now[0][i]) b.append(now[0][i]) s1 = [] s2 = [] for i in range(0, len(now[1])): s1.append(now[1][i]) s2.append(now[1][i]) a.append(s1.pop(0)) b.append(s2.pop(-1)) stack.append([a, s1]) stack.append([b, s2]) else: if now[0] not in memo: memo.append(now[0]) print len(memo)