RT
#include <bits/stdc++.h>
using namespace std;
int n, N[100001], O[100001], I[100001], maxn, a[100001], b[100001], OO[100001], OO2[100001], ans;
string s;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> n;
cin >> s;
for (int i = s.size() - 1; i >= 0; i--){
N[i] = N[i + 1];
O[i] = O[i + 1];
OO[i] = O[i + 1];
I[i] = I[i + 1];
if (s[i] == 'N'){
N[i]++;
} else if (s[i] == 'O'){
O[i]++;
OO[i]++;
} else {
I[i]++;
}
}
if (s[0] == 'O'){
OO2[0] = 1;
}
for (int i = 1; i >= 0; i--){
OO2[i] = OO2[i - 1];
if (s[i] == 'O'){
OO2[i]++;
}
}
for (int i = 0; i < s.size(); i++){
maxn = max(maxn, I[i] * (N[0] - N[i]));
if (s[i] == 'O'){
a[i] = I[i];
}
}
for (int i = s.size() - 1; i >= 0; i--){
OO[i] = OO[i + 1] + a[i];
if (s[i] == 'N'){
ans += OO[i];
}
}
for (int i = s.size() - 1; i >= 0; i--){
if (s[i] == 'O'){
b[i] = N[0] - N[i];
}
}
for (int i = 0; i < s.size(); i++){
OO2[i] = OO2[i - 1] + b[i];
}
cout << max(ans + maxn, max(ans + OO[0], ans + OO2[s.size() - 1]));
return 0;
}