3988: 中山市第十二届义务教育段学生信息学邀请赛:倍数子串(timestr)

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:17 Solved:9

Description

倍数子串(timestr

【问题描述】

Jimmy 对数字有着异于常人的热爱。有一天, 他随便写出来一个数字——04320然后  开始对着这个数字写写画画。他发现, 从这个数字中随便选出连续的一段(Jimmy 这个称  为连续子串),有可能是 4 的倍数, 例如 4,04,32,432 等; 也有可能是 5 的倍数, 例如 20, 320 等。

Jimmy  的老师恰好路过此处, 他向正沉迷于自己发现的 Jimmy 提了一个有趣的问题 ——给定一个指定的数字串,请问有多少连续子串 4 或者 5 的倍数呢?

老师还特别提醒他:

1.  连续子串的开头可以是 0

2.  两个连续子串只要是从数字串中的不同位置选出来的,它们就算是不同的; 3.  如果一个连续子串同时是 4  5  的倍数,应当只被计算一次哦!

 

【输入格式】

一行一个数字串,长度为 n

 

【输出格式】

一行一个整数,表示所有的连续子串中,为 4 或者 5 的倍数的数量。

 

Input

一行一个数字串,长度为 n

Output

一行一个整数,表示所有的连续子串中,为 4 或者 5 的倍数的数量。

Sample Input Copy


04320

Sample Output Copy

11

HINT

【样例 1 解释】

所有满足题意的连续子串分别为: 0,04,0432,04320,4,432,4320,32,320,20,0。 其中有两个相同的 0,这是因为它们是从数字串中的不同位置选出来的(一个在开头处, 一  个在结尾处)。

【测试点约束】

对于 10% 的数据,保证 n = 1

对于 60% 的数据,保证 1 ≤ n ≤ 103。

对于 100% 的数据,保证 1 ≤ n ≤ 106。