#include <bits/stdc++.h>
//qwerty47924692
using namespace std;
using ll = long long;
const ll N=2e5+29;
const string br="617283";
#define sz(a)(ll)a.size()
#define f first
#define s second
ll n,used[N];
string s;
ll intersection(ll l1,ll r1,ll l2,ll r2){
    return max(0ll,min(r1,r2)-max(l1,l2)+1);
}
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cin>>n>>s;
    s=' '+s;
    ll cnt=n;
    vector<pair<ll,ll>>v;
    for(ll i=1;i<=2*n;i++){
        if(used[i])continue;
        ll cur=--cnt;
        for(ll j=i+1;j<=2*n;j++){
            if(used[j])continue;
            if(cur<=0&&s[i]!=s[j]){
                v.push_back({i,j});
                used[j]=1;
                break;
            }
            cur--;
        }
    }
    ll ans=0;
    for(ll i=0;i<v.size()-1;i++){
        ll l1=v[i].f,r1=v[i].s;
        for(ll j=i+1;j<v.size();j++){
            ll l2=v[j].f,r2=v[j].s;
            if(intersection(l1,r1,l2,r2)>0&&intersection(l1,r1,l2,r2)!=min(r2-l2+1,r1-l1+1)){
                ans++;
               // cout<<l1<<' '<<r1<<' '<<l2<<' '<<r2<<'\n';
            }
        }
    }
    cout<<ans;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |