A. Отель Гильберта
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Отель Гильберта это очень необычный отель, потому что количество комнат в нем бесконечно! Для каждого целого числа существует ровно одна комната с таким номером, включая ноль и отрицательные числа. Не менее странно то, что сейчас отель полностью заполнен, что означает, что в каждой комнате находится ровно один гость. Менеджер отеля, сам Давид Гильберт, решил переместить гостей, потому что у него есть предположение, что за счет этого образуются свободные места.

Для любого целого числа $$$k$$$ и положительного целого числа $$$n$$$ обозначим за $$$k\bmod n$$$ остаток при делении числа $$$k$$$ на число $$$n$$$. Более формально, $$$r=k\bmod n$$$ это наименьшее неотрицательное целое число такое, что $$$k-r$$$ делится на $$$n$$$. Всегда выполнено, что $$$0\le k\bmod n\le n-1$$$. Например, $$$100\bmod 12=4$$$ и $$$(-1337)\bmod 3=1$$$.

Процесс перемещения гостей выглядит следующим образом: есть массив, состоящий из $$$n$$$ целых чисел $$$a_0,a_1,\ldots,a_{n-1}$$$. Тогда для всех целых чисел $$$k$$$ гость из комнаты с номером $$$k$$$ перемещается в комнату с номером $$$k+a_{k\bmod n}$$$.

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

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

Каждый тест состоит из нескольких тестовых случаев. Первая строка содержит единственное целое число $$$t$$$ ($$$1\le t\le 10^4$$$) — количество тестовых случаев. Следующие $$$2t$$$ строк содержат описания тестовых случаев.

В первой строке описания каждого тестового случая находится единственное целое число $$$n$$$ ($$$1\le n\le 2\cdot 10^5$$$) — длина массива.

Во второй строке описания каждого тестового случая находятся $$$n$$$ целых чисел $$$a_0,a_1,\ldots,a_{n-1}$$$ ($$$-10^9\le a_i\le 10^9$$$).

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

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

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

Пример
Входные данные
6
1
14
2
1 -1
4
5 5 5 1
3
3 2 1
2
0 1
5
-239 -2 -100 -3 -11
Выходные данные
YES
YES
YES
NO
NO
YES
Примечание

В первом тестовом случае номер комнаты каждого гостя увеличился на $$$14$$$, поэтому по-прежнему в каждой комнате находится ровно один гость.

Во втором тестовом случае гости в комнатах с четными номерами перемещаются в комнату с номером, на $$$1$$$ большим исходного; гости в комнатах с нечетными номерами перемещаются в комнату с номером, на $$$1$$$ меньшим исходного. Можно показать, что по-прежнему в каждой комнате находится ровно один гость.

В третьем тестовом случае каждый четвертый гость перемещается в комнату с номером, на $$$1$$$ большим исходного, а остальные гости перемещаются в комнату с номером, на $$$5$$$ большим. Можно показать, что по-прежнему в каждой комнате находится ровно один гость.

В четвертом тестовом случае гости, исходно находящиеся в комнатах $$$0$$$ и $$$1$$$, перемещаются в комнату с номером $$$3$$$.

В пятом тестовом случае гости, находящиеся в комнатах $$$1$$$ и $$$2$$$, перемещаются в комнату с номером $$$2$$$.