#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;
}