#CF1985C. 好前缀

好前缀

C. 好前缀

时间限制:2 秒
内存限制:256 兆字节

Alex 认为一个数组是好的,如果存在某个元素可以表示为所有其他元素的和(如果没有其他元素,则所有其他元素的和为 00)。例如,数组 [1,6,3,2][1,6,3,2] 是好的,因为 1+3+2=61+3+2=6。此外,数组 [0][0] 也是好的。但是,数组 [1,2,3,4][1,2,3,4][1][1] 不是好的。

Alex 有一个数组 a1,a2,,ana_1, a_2, \dots, a_n。请帮他统计数组 aa好非空前缀的个数。换句话说,统计满足以下条件的 ii1in1 \le i \le n)的个数:长度为 ii 的前缀(即 a1,a2,,aia_1, a_2, \dots, a_i)是好的。

输入

第一行包含一个整数 tt1t1041 \le t \le 10^4)——测试用例的数量。

每个测试用例的第一行包含一个整数 nn1n21051 \le n \le 2 \cdot 10^5)——数组中元素的数量。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n0ai1090 \le a_i \le 10^9)——数组的元素。

保证所有测试用例的 nn 之和不超过 21052 \cdot 10^5

输出

对于每个测试用例,输出一个整数——数组 aa 的好非空前缀的数量。

示例

输入

7
1
0
1
1
4
1 1 2 0
5
0 1 2 1 4
7
1 1 0 3 5 2 12
7
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 294967296
10
0 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 589934592

输出

1
0
3
3
4
1
2

注释

在第四个测试用例中,数组有五个前缀:

  • 前缀 [0][0] 是好的,如题目描述所述;
  • 前缀 [0,1][0,1] 不是好的,因为 010 \neq 1
  • 前缀 [0,1,2][0,1,2] 不是好的,因为 01+20 \neq 1+210+21 \neq 0+220+12 \neq 0+1
  • 前缀 [0,1,2,1][0,1,2,1] 是好的,因为 2=0+1+12 = 0+1+1
  • 前缀 [0,1,2,1,4][0,1,2,1,4] 是好的,因为 4=0+1+2+14 = 0+1+2+1

因此其中有三个是好前缀,答案为 33