_ = 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)
