#P1941B. Rudolf and 121

Rudolf and 121

Description

Rudolf有一个长度为n的数组a

在一次操作中,他可以选择一个索引i(2in1)并赋值:

  • a[i−1]=a[i−1]1
  • a[i]=a[i]2
  • a[i+1]=a[i+1]1

Rudolf可以任意次数地应用此操作。任何索引ii可以被使用零次或多次。

他能使用这个操作使数组的所有元素都变成零吗?

输入

输入的第一行包含一个整数t(1t1e4) — 测试中的测试用例数量。

每个测试用例的第一行包含一个整数n(3n2e5) — 数组中元素的数量。

每个测试用例的第二行包含n个整数a1,a2,,an(0aj10^9) — 数组的元素。

保证所有测试用例中n的值的总和不超过2e5

输出

对于每个测试用例,如果可以使用描述的操作使数组的所有元素变成零,则输出"YES"。否则,输出"NO"。

你可以以任何大小写形式输出每个字母。例如,字符串"yEs", "yes", "Yes", 和"YES"都会被接受为肯定答案。

7
5
1 3 5 5 2
5
2 4 4 5 1
5
0 1 3 3 1
6
5 6 0 2 3 0
4
1 2 7 2
3
7 1 0
4
1 1 1 1
YES
NO
YES
NO
NO
NO
NO

注意

在第一个示例中,原始数组是**[1,3,5,5,2]**,为了使所有元素变成零,Rudolf可以这样操作:

  • i=4处应用操作,得到数组**[1,3,4,3,1]**;
  • i=3处应用操作,得到数组**[1,2,2,2,1]**;
  • i=2处应用操作,得到数组**[0,0,1,2,1]**;
  • i=4处应用操作,得到数组**[0,0,0,0,0]**。