import sys input = sys.stdin.readline from random import randint R=[randint(1,10**31) for i in range(151)] ANS=[] X=list(input().strip()) Y=list(input().strip()) Z=list(input().strip()) def calc(S): now=1 ANS=0 for i in range(len(S)): ANS^=(ord(S[i])-96)*R[i] return ANS for i in range(len(X)): for j in range(len(Y)): for k in range(len(Z)): A=X[:i+1]+Y[:j+1]+Z[:k+1] ANS.append(calc(A)) A=X[:i+1]+Z[:k+1]+Y[:j+1] ANS.append(calc(A)) A=Y[:j+1]+X[:i+1]+Z[:k+1] ANS.append(calc(A)) A=Y[:j+1]+Z[:k+1]+X[:i+1] ANS.append(calc(A)) A=Z[:k+1]+X[:i+1]+Y[:j+1] ANS.append(calc(A)) A=Z[:k+1]+Y[:j+1]+X[:i+1] ANS.append(calc(A)) print(len(set(ANS)))