#383. 反对称 Antisymmetry

反对称 Antisymmetry

题目描述

译自 POI 2010 Stage 2. Day 0「[Antisymmetry]

对于一个 0/1\red{0/1} 字符串,如果将这个字符串 0\red{0}1\red{1} 取反后,再将整个串反过来和原串一样,就称作「反对称」字符串。比如00001111\red{ 00001111}010101\red{010101} 就是反对称的,而 1001\red{1001} 就不是。 现在给出一个长度为 n\red{n}0/1\red{0/1} 字符串,求它有多少个子串是反对称的,注意这里相同的子串出现在不同的位置会被重复计算。

输入格式

第一行一个正整数 n\red{n}

第二行一个长度为 n\red{n}0/1\red{0/1} 字符串。

输出格式

一行一个整数,表示原串的反对称子串个数。

样例

输入样例

8
11001011

输出样例

7

提示

对于 100%\red{100\%} 的数据, 1n500 000\red{1\le n\le 500\ 000}

Translatedbyvincent163\red{Translated by vincent163}