No testdata at current.
一个长度为n的数组a,下标从1开始,任意两个相邻的下标(p,p+1)可以组成一个对。
现在可以任意选择k(k>0)个对(p1,p1+1),(p2,p2+1),...,(pk,pk+1),要求$a_{p1}+a_{p1+1}=a_{p2}+a_{p2+1}=...=a_{pk}+a_{pk+1}$,并且每个下标最多只能出现在其中一个对中。
问:有几种选择方案?由于答案可能很大,请将答案对(109+7)取模后输出。
第一行输入一个整数n(2≤n≤105)代表数组中的元素数量。
第二行输入n个整数a1,a2,…,an(1≤ai≤109)代表数组元素。
在一行上输出一个整数,表示方案数。由于答案可能很大,请将答案对(109+7)取模后输出。
输入
5
1 2 1 2 1
输出
7
说明
(1,2)
(2,3)
(3,4)
(4,5)
(1,2),(3,4)
(1,2),(4,5)
(2,3),(4,5)
共7种方案。