// 假设abb序列 b的数量在序列中为cnt个

// 那么从cnt个字符任意选择两个 组合数为C(cnt,2)​=cnt∗(cnt−1)/2

#include<iostream>
using namespace std;

long long sum [100010][26];

int main(){
    int n;
    string s;
    cin >> n >> s;
  	// 后缀和数组 从右向左遍历 求对于每个字符后面有多少个不同的字母存在
    for(int i = n - 1; i >= 0; i --){
        for(int j = 0; j < 26; j ++){
            sum[i][j] = sum[i + 1][j];
        }
        sum[i][s[i] - 'a'] ++;
    }
    long long res = 0;
    for(int i = 0; i < n; i ++){
        for(int j = 0; j < 26; j ++){
		  // 如果cnt = 1 组合数就为 0 所以不算在res里面 如果大于等于2就组合数
            if(j != s[i] - 'a')
                res += sum[i + 1][j] * (sum[i + 1][j] - 1) / 2;
        }
    }
    cout << res << endl;
    return 0;
}