#include using namespace std; using ll = long long; int n; string s; int main(){ cin >> n >> s; vector> suff(n+1, vector(26, 0)); for (int x = 0; x < 26; x++){ suff[n][x] = 0; } for (int i = n-1; i >= 0; i--){ for (int x = 0; x < 26; x++){ suff[i][x] = suff[i+1][x]; } suff[i][s[i]-'A']++; } vector> dp(n+1, vector(26*26, 0LL)); for (int a = 0; a < 26; a++){ for (int b = 0; b < 26; b++){ dp[n][a*26 + b] = 0; } } for (int i = n-1; i >= 0; i--){ int l = s[i] - 'A'; int after = n - (i+1); for (int a = 0; a < 26; a++){ for (int b = 0; b < 26; b++){ int idx = a * 26 + b; ll extra = 0; if(a != b && l != a && l != b){ int sum = after - suff[i+1][a] - suff[i+1][b]; extra = sum - suff[i+1][l]; } dp[i][idx] = dp[i+1][idx] + extra; } } } vector>> pre(26, vector>(26, vector(n+1, 0LL))); vector cnt(26, 0); for (int i = 0; i < n; i++){ for (int a = 0; a < 26; a++){ for (int b = 0; b < 26; b++){ pre[a][b][i+1] = pre[a][b][i]; } } int ch = s[i] - 'A'; for (int a = 0; a < 26; a++){ pre[a][ch][i+1] += cnt[a]; } cnt[ch]++; } ll ans = 0; for (int i3 = 2; i3 <= n-3; i3++){ int a = s[i3] - 'A'; for (int b = 0; b < 26; b++){ if(b == a) continue; ans += dp[i3+1][a * 26 + b] * pre[a][b][i3]; } } cout << ans << "\n"; }