#include <bits/stdc++.h>
using namespace std;
long long dp[200005] = {0};
long long b[200005] = {0};
long long cur[500005] = {0};
long long a[500005] = {0};
long long nod[200005] = {0};
long long v[500005] = {0};
long long t[200005] = {0};
long long power(long long x, unsigned long long y) {
  if (y == 0)
    return 1;
  else if (y % 2 == 0)
    return (power(x, y / 2) % 1000000007 * power(x, y / 2) % 1000000007) %
           1000000007;
  else
    return (x % 1000000007 * power(x, y / 2) % 1000000007 * power(x, y / 2) %
            1000000007) %
           1000000007;
}
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  ;
  long long q;
  cin >> q;
  while (q--) {
    long long w = 0, x = 0, y = 0, k = 0, z = 0, sum = 0, g, r, l, t, d,
              cnt = 0, n, m, ans = 0;
    cin >> n;
    std::vector<long long> v;
    map<long long, long long> vis;
    for (long long i = 0; i < n; ++i) {
      cin >> a[i];
      x = (a[i] + i) % n;
      x = (x + n) % n;
      vis[x]++;
    }
    bool val = true;
    for (long long i = 0; i < n; ++i) {
      if (!vis[i]) {
        val = false;
        break;
      }
    }
    if (!val) {
      cout << "NO"
           << "\n";
      continue;
    }
    for (long long i = 0; i < n; ++i) {
      if (vis[i] > 1) {
        val = false;
        break;
      }
    }
    if (!val) {
      cout << "NO"
           << "\n";
    } else {
      cout << "YES"
           << "\n";
    }
  }
  return 0;
}
