k进制数
题号:NC15809
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

对于k进制数x,定义d(x)为x的各数位的和的k进制表示,如果结果超过一位,则继续重复执行各数位求和操作,直至结果为1位。
比如说,在7进制下,d(35047)=d((3+5+0+4)7)=d(157)=d((1+5)7)=d(67)=6
定义x为幸运的,当且仅当d(x) = b;
现在给定k进制下的n个数位a1 a2 an,问其中有多少子串组成的数字是幸运的。

输入描述:

第一行三个整数k,b,n(2 <= k <= 1,000,000,000, 0 <= b < k, 1 <= n <= 100,000)。
第二行n个整数满足0 <= ai < k。

输出描述:

输出一个整数表示幸运的子串数。
示例1

输入

复制
10 5 6
3 2 0 5 6 1

输出

复制
5

说明

3 2
3 2 0
0 5
5
2 0 5 6 1
是幸运的。
示例2

输入

复制
7 6 4
3 5 0 4

输出

复制
1
示例3

输入

复制
257 0 3
0 0 256

输出

复制
3