def patio(intervals): # print("=====") mid_count = len(intervals) - 1 dim = 1 cumm_sum = [0] for n in intervals: cumm_sum.append(cumm_sum[-1] + n) res = 0 while dim * dim <= mid_count: center = dim * dim side = dim * 4 + 4 for i in range(center, len(intervals)): other_sum = cumm_sum[i + 1] - cumm_sum[i - center] res = 0 for k in range(i - center, i+1): if intervals[k] <= side: res = min(res, intervals[i - center]) +1 else: res = 0 break """ if not flag and other_sum >= side: a = min(intervals[i], intervals[i - center], other_sum-side) + 1 res += a # print(center, a, other_sum, i) """ dim += 1 return res def get_inter(s, x): count = 0 res = [] for char in s: if char == x: count += 1 else: res.append(count) count = 0 res.append(count) return res # Press the green button in the gutter to run the script. if __name__ == '__main__': count = int(input()) st = input() o_inter = get_inter(st, 'X') x_inter = get_inter(st, 'O') print(patio(o_inter) + patio(x_inter)) # See PyCharm help at https://www.jetbrains.com/help/pycharm/