D. Месть
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Юсеф хочет взорвать массив $$$a_1, a_2, \dots, a_n$$$. Массив взрывается, когда все его элементы становятся равными нулю.

В одной операции Юсеф может сделать одно из следующих:

  1. Для каждого индекса $$$i$$$ в $$$a$$$ уменьшить $$$a_i$$$ на $$$i$$$.
  2. Для каждого индекса $$$i$$$ в $$$a$$$ уменьшить $$$a_i$$$ на $$$n - i + 1$$$.

Ваша задача — помочь Юсефу определить, возможно ли взорвать массив, используя любое количество операций.

Входные данные

Первая строка входных данных содержит целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.

Первая строка каждого набора входных данных содержит целое число $$$n$$$ ($$$2 \le n \le 2 \cdot 10^5$$$) — размер массива.

Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$ ($$$1 \le a_i \le 10^9$$$) — элементы массива.

Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превышает $$$2 \cdot 10^5$$$.

Выходные данные

Для каждого набора входных данных выведите «YES», если Юсеф может взорвать массив, в противном случае выведите «NO».

Вы можете выводить ответ в любом регистре (верхнем или нижнем). Например, строки «yEs», «yes», «Yes», и «YES» будут распознаны как положительные ответы.

Пример
Входные данные
6
4
3 6 6 3
5
21 18 15 12 9
10
2 6 10 2 5 5 1 2 4 10
7
10 2 16 12 8 20 4
2
52 101
2
10 2
Выходные данные
NO
YES
NO
NO
YES
NO
Примечание

Во втором наборе входных данных мы можем сделать следующее:

  • Выполнить $$$1$$$ операцию первого типа. Массив становится $$$[20, 16, 12, 8, 4]$$$.
  • Выполнить $$$4$$$ операции второго типа. Массив становится $$$[0, 0, 0, 0, 0]$$$.

В первом, третьем, четвертом и шестом наборах входных данных можно доказать, что невозможно сделать все элементы равными нулю, используя любое количество операций.