#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long n;
  string s;
  cin >> n;
  getline(cin, s);
  getline(cin, s);
  vector<long long> numb(n);
  vector<long long> pr;
  vector<long long> pw;
  vector<long long> prpw;
  vector<long long> kr(n);
  vector<long long> kek(n);
  long long nn = n;
  for (long long i = 2; i <= nn; ++i) {
    if (n % i == 0) {
      pr.push_back(i);
      long long u = 0, w = 1;
      while (n % i == 0) {
        n /= i;
        ++u;
        w *= i;
      }
      pw.push_back(u);
      prpw.push_back(w);
    }
  }
  n = nn;
  for (long long i = 0; i < n; ++i) {
    kr[i] = 0;
    kek[i] = -1;
    numb[i] = s[i] - '0';
    for (long long j = 0; j < pr.size(); ++j)
      if (((i % prpw[j]) / (prpw[j] / pr[j])) == 0) {
        ++kr[i];
        if (kek[i] == -1) kek[i] = j;
      }
  }
  for (long long i = pr.size(); i > 0; --i) {
    for (long long j = 0; j < n; ++j)
      if ((kr[j] == i) && (numb[j])) {
        long long x = numb[j];
        for (long long k = 0; k < pr[kek[j]]; ++k) {
          numb[(j + k * (n / pr[kek[j]])) % n] -= x;
        }
      }
  }
  bool zz = true;
  for (long long i = 0; zz && (i < n); ++i) zz = (numb[i] == 0);
  if (zz)
    cout << "YES\n";
  else
    cout << "NO\n";
  return 0;
}
