import sys
"""
解题 思路
https://blog.nowcoder.net/n/3bd0863ecee6487185d6b8217cc01caa
后缀和数据
suffix[i+1][j] 表示str 中字母i 位置后面对应的字母a-z出现次数
从i 后面选择与i位置 不同字母 的两个相同字母j个数cnt , C( 2,cnt)= cnt*(cnt-1)//2
所以统计 [i+1][0:26] C( 2,cnt)= cnt*(cnt-1)//2 总和
"""
def sovle():
n =int(input())
s=input()
sum=[ [ 0 for _ in range(26) ] for _ in range(n+1) ] # for _ in range(n)
#逆序统计i位置后面的字母个数
for i in range(n-1,-1,-1):
# 复制 i=1 的26个结果到i位置
#if i< n-1:
for j in range(0,26):
sum[i][j]=sum[i+1][j]
sum[i][ ord(s[i])-ord('a')]+=1 # 加上当前字母
#print(sum)
# 从0 -n 遍历 记录结果 i位置后不同字母 C(2, cnt) =cnt*(cnt-1)//2
res=0
for i in range(0,n):
for j in range(0,26):
#print(ord(s[i])-ord('a'))
if j !=ord(s[i])-ord('a'):
res+=(sum[i+1][j]*(sum[i+1][j]-1))//2 # 后缀
print(res)
sovle()