#include #include #include using namespace std; int main() { int nmbTiles; string input; cin >> nmbTiles; cin >> input; vector xCount; vector oCount; int xSum = 0; int oSum = 0; xCount.push_back(xSum); oCount.push_back(oSum); for (int i = 0; i < input.length(); i++) { if (input[i] == 'X') { xSum++; } else { oSum++; } xCount.push_back(xSum); oCount.push_back(oSum); } int out = 0; for (int right = 0; right <= input.length(); right++) { for (int left = 0; left < right; left++) { int xInside = xCount[right] - xCount[left]; int oInside = oCount[right] - oCount[left]; int n = (int)sqrt(oInside); if (n * n != oInside || oInside == 0) { continue; // skip if O is not n^2 } int xExpected = 4 * n + 4; int oExpected = n * n; if (xInside < xExpected || oInside < oExpected) { break; } if (xInside == 4 * n + 4) { out++; } } } cout << out << endl; return 0; }