#include using namespace std; #define all(x) begin(x), end(x) int fun(string& s, char one, char two, int N) { auto left = s.begin(); auto right = s.begin(); int answer = 0; int X = 0; int O = 0; for (int i = 1; i*i < N; ++i) { while (right < s.end() || left < s.end()) { if (X < i*i || O < 4 * (i + 1)) { if (right == s.end()) break; if (right[0] == one) X++; else O++; right++; } else if (X > i*i || O > 4 * (i + 1)) { if (left[0] == one) X--; else O--; left++; } else { answer++; if (left[0] == one) X--; else O--; left++; } } } return answer; } int main() { cin.tie(0)->sync_with_stdio(0); cin.exceptions(cin.failbit); int N; cin >> N; string s; cin >> s; assert(s.size() == N); cout << fun(s, 'O', 'X', N) << endl; return 0; }