S = str(input()) N = len(S) B = [[(2,0),(0,0)],[(0,1),(1,0)],[(1,0),(0,1)],[(0,0),(0,2)],[(-1,0),(0,1)],[(0,-1),(1,0)],\ [(-2,0),(0,0)],[(0,-1),(-1,0)],[(-1,0),(0,-1)],[(0,0),(0,-2)],[(1,0),(0,-1)],[(0,1),(-1,0)]] #print(B) L = set() now = ((0,0),(0,0)) L.add(now) a = 30; b = 150; c = 270 for i in range(1,N+1): if S[i-1] == "a": move = a//30 a = (a+180)%360 if i%2 == 0: b = (a+120)%360 c = (a+240)%360 else: c = (a+120)%360 b = (a+240)%360 elif S[i-1] == "b": move = b//30 b = (b+180)%360 if i%2 == 0: a = (b+240)%360 c = (b+120)%360 else: c = (b+240)%360 a = (b+120)%360 else: move = c//30 c = (c+180)%360 if i%2 == 0: a = (c+120)%360 b = (c+240)%360 else: b = (c+120)%360 a = (c+240)%360 #print(move,B[move]) nxt = ((now[0][0]+B[move][0][0],now[0][1]+B[move][0][1]),(now[1][0]+B[move][1][0],now[1][1]+B[move][1][1])) L.add(nxt) now = nxt #print(nxt,a,b,c) ans = len(L) print(ans)