#include <bits/stdc++.h>
using namespace std;
namespace IO {
using namespace std;
inline bool read() { return true; }
template <class T1, class... T2>
bool read(T1 &a, T2 &...rest) {
  return (cin >> a) ? read(rest...) : 0;
}
template <class... T>
bool read(char *a, T &...rest) {
  return (cin >> a) ? read(rest...) : 0;
}
template <class... T>
bool read(char *a, char *b, T &...rest) {
  return (cin >> a >> b) ? read(rest...) : 0;
}
template <class... T>
bool read(char *a, char *b, char *c, T &...rest) {
  return (cin >> a >> b >> c) ? read(rest...) : 0;
}
void _put() { cout << '\n'; }
template <class T1, class... T2>
void _put(const T1 num, const T2... rest) {
  cout << ' ' << num;
  _put(rest...);
}
void put() { cout << '\n'; }
template <class T1, class... T2>
void put(const T1 num, const T2... rest) {
  cout << num;
  _put(rest...);
}
void puta() {}
template <class T1, class... T2>
void puta(const T1 num, const T2... rest) {
  cout << num << ' ';
  puta(rest...);
}
void yes() { put("YES"); }
void no() { put("NO"); }
void ff() { cout.flush(); }
}  // namespace IO
using namespace IO;
using namespace IO;
using db = double;
using vi = vector<int>;
using pii = pair<int, int>;
using ll = long long;
using pll = pair<ll, ll>;
using vl = vector<ll>;
using cp = complex<double>;
mt19937 rng(
    (unsigned int)chrono::steady_clock::now().time_since_epoch().count());
const int mod = 998244353, inv2 = (mod + 1) / 2;
const int maxn = 2e5 + 10;
const int inf = 1e9 + 3;
void Solve() {
  ll n;
  read(n);
  vi a(n);
  for (int i = 0; i < n; i++) {
    read(a[i]);
    a[i] += i;
    a[i] = (a[i] % n + n) % n;
  }
  vi b(n);
  for (int i = 0; i < n; i++) {
    b[a[i]] = 1;
  }
  int ok = 1;
  for (int i = 0; i < n; i++) {
    ok &= b[i];
  }
  ok ? yes() : no();
}
signed main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cout << fixed << setprecision(10);
  ;
  int _ = 1;
  read(_);
  while (_--) {
    Solve();
  }
}
