_ = input() vstup = input() maxr = int(len(vstup)**0.5) res = 0 actZaloha = {'X': 0, 'O':0} pokus={'X': 0, 'O':0} for z in vstup: pokus[z] = pokus[z] + 1 maxCO=min(pokus.values()) vys= max(10, maxCO/4+1) maxr=min(maxr,vys) for rozmer in range(3, maxr+1): ov = (rozmer-2)**2 xv = (rozmer-1)*4 vzorne = ((xv, ov), (ov, xv)) act=actZaloha.copy() #act = {'X': 0, 'O':0} plocha = rozmer**2 if rozmer==3: subs = vstup[:plocha] for z in subs: act[z] = act[z] + 1 if (act['X'], act['O']) in vzorne: res += 1 else: subs = vstup[(rozmer-1)**2:plocha] for z in subs: act[z] = act[z] + 1 if (act['X'], act['O']) in vzorne: res += 1 #actZaloha = {'X': 0, 'O':0} actZaloha=act.copy() poc=0 for w in vstup[plocha:]: z=vstup[poc] act[z] = act[z] - 1 act[w] = act[w] + 1 if (act['X'], act['O']) in vzorne: res += 1 poc+=1 print(res)