问题描述
给定一个长度为 N 的数列 A1,A2,…,AN。如果其中一段连续的子序列 Ai,Ai+1,…,Aj(i≤j)之和是 K 的倍数,我们就称这个区间 [i,j] 是 K 倍区间。
你能求出数列中总共有多少个 K 倍区间吗?
输入格式
第一行包含两个整数 N 和 K。
接下来 N 行,每行一个整数 Ai。
输出格式
一个整数,即 K 倍区间的总数。
样例输入 1
5 2
1
2
3
4
5
样例输出 1
6
说明:K 倍区间为 [1,3](1+2+3=6)、[1,4](1+2+3+4=10)、[2,2](2)、[2,5](2+3+4+5=14)、[3,5](3+4+5=12)、[4,4](4),共 6 个。
样例输入 2
3 1
1
2
3
样例输出 2
6
说明:K=1 时所有区间都是 1 的倍数,N=3 时共 3×4/2=6 个区间。
样例输入 3
4 3
1
2
3
4
样例输出 3
4
说明:K 倍区间有 [1,2](1+2=3)、[1,3](1+2+3=6)、[2,4](2+3+4=9)、[3,3](3=3),共 4 个。
评测数据规模
对于所有数据,保证 1≤N,K≤105,1≤Ai≤105。