#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1e9 + 7;
const long long H1 = 100403, H2 = 142433, H3 = 185099;
const int MAX_N = 2e5 + 20;
int N;
char A[MAX_N];
long long H[MAX_N], U[MAX_N];
long long mod_inv(long long v) {
  long long x = 1, y = v, p = MOD - 2;
  while (p) {
    if (p & 1) x = (x * y) % MOD;
    p >>= 1;
    y = (y * y) % MOD;
  }
  return x;
}
pair<long long, long long> Hval(int l, int r) {
  long long a = ((H[r] - U[r] + MOD) % MOD) *
                mod_inv((H[l - 1] - U[l - 1] + MOD) % MOD) % MOD;
  long long b = (H[r] - (a * H[l - 1]) % MOD + MOD) % MOD;
  return make_pair(a, b);
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout << std::setprecision(10);
  cout << fixed;
  cin >> N;
  cin >> (A + 1);
  H[0] = 1, U[0] = 2;
  for (int i = 1; i <= N; i++) {
    if (A[i] == '0') {
      H[i] = (H[i - 1] * H1 + H2) % MOD;
      U[i] = (U[i - 1] * H1 + H2) % MOD;
    } else {
      H[i] = (MOD + H3 - H[i - 1]) % MOD;
      U[i] = (MOD + H3 - U[i - 1]) % MOD;
    }
  }
  int q;
  cin >> q;
  while (q--) {
    int l, r, len;
    cin >> l >> r >> len;
    if (Hval(l, l + len - 1) == Hval(r, r + len - 1)) {
      cout << "Yes" << endl;
    } else {
      cout << "No" << endl;
    }
  }
  return 0;
}
