void solve() {
    int n;cin >> n;
    string s;cin >> s;
    map<char, int>mp;
    map<char, map<char, int>>mp2;
    int ans = 0;
    for (char i : s) {
        for (char j = 'a';j <= 'z';j++) {
            ans += mp2[j][i];
        }
        for (char j = 'a';j <= 'z';j++) {
            if (i != j) {
                mp2[j][i] += mp[j];
            }
        }
        mp[i]++;
    }
    cout << ans << endl;
}

mp记录某个字符结尾的次数,mp2记录某两个字符结尾的次数,但不记录相同的,按题意更新答案即可,累加j i i这样格式的到ans