moji = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" s = list(input()) len_s = len(s) dp = [[0 for j in range(len_s + 1)] for i in range(26)] ans = 0 for i in range(len_s): # 今の文字を取得 pos = ord(s[i]) - ord('A') dp[pos][i] += 1 for j in range(26): # コピー if i > 0: dp[j][i] += dp[j][i-1] # 作れる総数を更新(同じ文字でないこと) if pos != j: ans += ((dp[j][i]) * (dp[j][i]-1) // 2) print(ans) ''' AAXABY '''