#include <iostream>
#include <string>
using namespace std;
int main() {
int n;
string s;
cin >> n >> s;
long long result = 0;
int cnt[26] = {0}; // cnt[x]: 字母 x 出现的次数(作为第一个字符)
long long pair_cnt[26][26] = {0}; // pair_cnt[a][b]: 以 a,b 作为前两个字符的组合数量
for (char ch : s) {
int c = ch - 'a';
// 统计所有形如 a b b 的组合(a ≠ b)
for (int a = 0; a < 26; ++a) {
if (a != c)
result += pair_cnt[a][c];
}
// 更新 pair_cnt:所有 a b 组合,其中 b = 当前字符
for (int a = 0; a < 26; ++a) {
if (a != c)
pair_cnt[a][c] += cnt[a];
}
// 当前字符可以作为第一个字符
cnt[c]++;
}
cout << result << endl;
return 0;
}