1655: 序列问题

Memory Limit:512 MB Time Limit:1.000 S
Judge Style:Normal Judger Creator:
Submit:9 Solved:1

Description

【问题描述】

高老师是一位经验丰富的信息学竞赛指导教师,善于开发学生的创造性思维。周末课上,他给学生留下一道关于01串的思考题(所谓01串就是由字符‘0’和‘1’组成的字符串):给定一个长度为n的01串,他想知道有多少个子串,满足其中1的个数比0的个数多。现在高老师请会编程的你来帮忙计算答案。

【输入格式】

输入的第一行一个整数,表示字符串的长度。

第二行一个字符串,表示01串。

【输出格式】

输出一行,包括一个整数,表示满足条件的子串的个数。

【数据范围】

对于20%的数据,n≤3000。

对于另外的10%的数据,n≤107,字符串全为1。

对于另外的20%的数据,n≤2×105

对于另外的20%的数据,n≤2×106

对于另外的100%的数据,n≤107

【输入输出样例】

3

111

【样例解释】

6

满足条件的子串有:1,1,1,11,11,111

 

Input

第一行一个整数,表示字符串的长度。

第二行一个字符串,表示01串。

Output

输出一行,包括一个整数,表示满足条件的子串的个数。

Sample Input Copy

3
111

Sample Output Copy

6