#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]; unordered_map counts; ll join(ll a, ll b) { if(a<0 || b<0) return -1; return (a<<30) + b; } int main() { ll out = 0; scanf("%d %s", &n, in); ll as=0; ll bs=0; fo(i,n) { counts[join(as, bs)]++; if(in[i]=='X') bs++; else as++; for(ll e=1;e*e <= as;e++) out += counts[join(as-e*e, bs-4*e-4)]; for(ll e=1;e*e <= bs;e++) out += counts[join(as-4*e-4, bs-e*e)]; } printf("%lld\n", out); return 0; }