#include <string> #include <iostream> #include <vector> #include <algorithm> using namespace std; typedef long long int ll; #define x first #define y second int main() { ll n; cin >> n; string s; cin >> s; vector<ll> prefixX(1, 0); vector<ll> prefixO(1, 0); for (int i=0; i<n; i++){ prefixX.push_back(prefixX.back() + (s[i] == 'X')); prefixO.push_back(prefixO.back() + (s[i] == 'O')); } ll result = 0; for (ll k = 1; (k + 2) * (k+2) <= n; k++) { ll length = (k + 2) * (k+2); for (ll i=0; i+length<=n; i++) { if (prefixX[i + length] - prefixX[i] == 4*k+4 && prefixO[i + length] - prefixO[i] == k*k) { result++; } } } cout << result << '\n'; }