行列式绝对值数字序列的问题求值,运用C语言算法编程的技术

Problem Description
A sequence b1,b2,⋯,bn are called (d1,d2)-arithmetic sequence if and only if there exist i(1≤i≤n) such that for every j(1≤j<i),bj+1=bj+d1 and for every j(i≤j<n),bj+1=bj+d2.

Teacher Mai has a sequence a1,a2,⋯,an. He wants to know how many intervals l,r there are that al,al+1,⋯,ar are (d1,d2)-arithmetic sequence.

Input
There are multiple test cases.

For each test case, the first line contains three numbers n,d1,d2(1≤n≤105,|d1|,|d2|≤1000), the next line contains n integers a1,a2,⋯,an(|ai|≤109).

Output
For each test case, print the answer.

Sample Input
5 2 -2
0 2 0 -2 0
5 2 3
2 3 3 3 3

Sample Output
12
5