For this Question: A string is called amicable if there is no character in the string which appears exactly once. For example, "abcccba" is amicable, whereas "abcba" is not amicable as the character 'c' appears only once. Your task is to find the total number of amicable substrings of a given string S.

Note:
Two substrings are considered different if either their starting position or their ending position are different, even if their contents may be equal.The first line consists of a single integer T – the number of test cases.
Then T lines follow, the i<sup>th</sup> line containing a string S for the i<sup>th</sup> test case.

<b>Constraints:</b> 
1 &le; T &le; 10<sup>5</sup>
The sum of lengths of strings across all test cases is less than or equal to 10<sup>5</sup>.For each test case, print a single line containing a single integer – the number of amicable substrings of string S.Sample Input 1:
3
abbac
bvb
sasa

Sample Output 1:
2
0
1

Explanation:
For the first test case, the amicable substrings are "bb" and "abba". 
For the second test case, there are no amicable substrings.
For the third test case, there is only one amicable substring "sasa".

Sample Input 2:
3
meeoowww
idqaislac
eommrejv

Sample Output 2:
10
0
1, I have written this Solution Code: #include <bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
 
typedef long long ll;
typedef long double ld;
#define db(x) cerr << #x << ": " << x << '\n';
#define read(a) int a; cin >> a;
#define reads(s) string s; cin >> s;
#define readb(a, b) int a, b; cin >> a >> b;
#define readc(a, b, c) int a, b, c; cin >> a >> b >> c;
#define readarr(a, n) int a[(n) + 1] = {}; FOR(i, 1, (n)) {cin >> a[i];}
#define readmat(a, n, m) int a[n + 1][m + 1] = {}; FOR(i, 1, n) {FOR(j, 1, m) cin >> a[i][j];}

#define print(a) cout << a << endl;
#define printarr(a, n) FOR (i, 1, n) cout << a[i] << " "; cout << endl;
#define printv(v) for (int i: v) cout << i << " "; cout << endl;
#define printmat(a, n, m) FOR (i, 1, n) {FOR (j, 1, m) cout << a[i][j] << " "; cout << endl;}
#define all(v) v.begin(), v.end()
#define sz(v) (int)(v.size())
#define rz(v, n) v.resize((n) + 1);
#define pb push_back
#define fi first
#define se second
#define vi vector <int>
#define pi pair <int, int>
#define vpi vector <pi>
#define vvi vector <vi>
#define setprec cout << fixed << showpoint << setprecision(20);
#define FOR(i, a, b) for (int i = (a); i <= (b); i++)
#define FORD(i, a, b) for (int i = (a); i >= (b); i--)
const ll inf = 1e18;
const ll mod = 1e9 + 7;
//const ll mod = 998244353;
const ll N = 2e5 + 1;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

int power (int a, int b = mod - 2)
{
    int res = 1;
    while (b > 0) {
        if (b & 1)
            res = res * a % mod;
        a = a * a % mod;
        b >>= 1;
    }
    return res;
}

signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    
    read(t);
    while (t--)
    {
        reads(s);
        int n = sz(s), ans = 0, valid = 0;
        vi l(26), sl(26), cnt(n + 1);
        FOR (i, 1, n)
        {
            int ch = s[i - 1] - 'a';
            valid++;
            FOR (j, sl[ch] + 1, l[ch])
            {
                cnt[j]--;
                if (j > 0 && cnt[j] == 0) valid++;
            }

            FOR (j, l[ch] + 1, i)
            {
                cnt[j]++;
                if (j > 0 && cnt[j] == 1) valid--;
            }

            sl[ch] = l[ch];
            l[ch] = i;
            ans += valid;
        }
        print(ans);
    }
  
}
, In this Programming Language: C++, Now tell me if this Code is compilable or not?