#include using namespace std; using ll = long long; #define fo(a,b) for(int a=0;a<(b);a++) const int START = 123456; int n; char in[1123456]; map> counts; int main() { ll out = 0; scanf("%d %s", &n, in); ll as=0; ll bs=0; fo(i,n) { counts[as][bs]++; if(in[i]=='X') bs++; else as++; for(int e=1;;e++) { ll inz = e*e; ll outz = 4+4*e; out += counts[as-inz][bs-outz]; out += counts[as-outz][bs-inz]; if(outz>max(as, bs)) break; } } printf("%lld\n", out); return 0; }