You know that the Martians use a number system with base $*k*$. Digit $*b*$ ($0 ≤ *b* < *k*$) is considered lucky, as the first contact between the Martians and the Earthlings occurred in year $*b*$ (by Martian chronology).
A digital root $*d*(*x*)$ of number $*x*$ is a number that consists of a single digit, resulting after cascading summing of all digits of number $*x*$. Word "cascading" means that if the first summing gives us a number that consists of several digits, then we sum up all digits again, and again, until we get a one digit number.
For example, $*d*(3504_{7}) = *d*((3 + 5 + 0 + 4)_{7}) = *d*(15_{7}) = *d*((1 + 5)_{7}) = *d*(6_{7}) = 6_{7}$. In this sample the calculations are performed in the 7-base notation.
If a number's digital root equals $*b*$, the Martians also call this number lucky.
You have string $*s*$, which consists of $*n*$ digits in the $*k*$-base notation system. Your task is to find, how many distinct substrings of the given string are lucky numbers. Leading zeroes are permitted in the numbers.
Note that substring $*s*[*i*... *j*]$ of the string $*s* = *a*_{1}*a*_{2}... *a*_{*n*}$ ($1 ≤ *i* ≤ *j* ≤ *n*$) is the string $*a*_{*i*}*a*_{*i* + 1}... *a*_{*j*}$. Two substrings $*s*[*i*_{1}... *j*_{1}]$ and $*s*[*i*_{2}... *j*_{2}]$ of the string $*s*$ are different if either $*i*_{1} ≠ *i*_{2}$ or $*j*_{1} ≠ *j*_{2}$.
Input
The first line contains three integers $*k*$, $*b*$ and $*n*$ ($2 ≤ *k* ≤ 10^{9}$, $0 ≤ *b* < *k*$, $1 ≤ *n* ≤ 10^{5}$).
The second line contains string $*s*$ as a sequence of $*n*$ integers, representing digits in the $*k*$-base notation: the $*i*$-th integer equals $*a*_{*i*}$ ($0 ≤ *a*_{*i*} < *k*$) — the $*i*$-th digit of string $*s*$. The numbers in the lines are space-separated.
Output
Print a single integer — the number of substrings that are lucky numbers.
Please, do not use the %lld specifier to read or write 64-bit integers in С++. It is preferred to use the cin, cout streams or the %I64d specifier.
Note
In the first sample the following substrings have the sought digital root: $*s*[1... 2]$ = "3 2", $*s*[1... 3]$ = "3 2 0", $*s*[3... 4]$ = "0 5", $*s*[4... 4]$ = "5" and $*s*[2... 6]$ = "2 0 5 6 1".
样例
10 5 6
3 2 0 5 6 1
5
7 6 4
3 5 0 4
1
257 0 3
0 0 256
3
题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。