#include using namespace std; using ll = long long; using ld = long double; #define rep(i, a, b) fo(int i = a; i < (b); ++i) #define all(x) begin(x), end(x) #define sz(x) (int)(x).size() typedef pair pii; typedef vector vi; int main() { cin.tie(0)->sync_with_stdio(0); cin.exceptions(cin.failbit); ll n; cin >> n; string s; cin >> s; vector xsum(n+1, 0), osum(n+1, 0); // xsum[i] .. number of X in <0;i) for(ll i = 0; i < n; i++) { if(s[i] == 'X') { xsum[i+1] = xsum[i]+1; osum[i+1] = osum[i]; } else { xsum[i+1] = xsum[i]; osum[i+1] = osum[i]+1; } } ll res = 0; for(ll side = 3; side <= sqrt(n); side++) { ll len = side*side; ll xreq = 4*side-4; ll oreq = (side-2)*(side-2); ll cnt = xreq+oreq; // assert(cnt == len); // cerr << "side " << side << endl; // cerr << "xreq " << xreq << endl; // cerr << "oreq " << oreq << endl; for(ll i = 0; i <= n-cnt; i++) { ll xcnt = xsum[i+cnt]-xsum[i]; ll ocnt = osum[i+cnt]-osum[i]; if(xcnt == xreq && ocnt == oreq) res++; if(xcnt == oreq && ocnt == xreq) res++; } } cout << res << endl; }