#include <bits/stdc++.h>
using namespace std;
const int N = 300010;
const int P = 998244353;
int len;
int n, m;
int a[N];
int sum[N];
long long base[N];
long long S[N], T[N];
const long long Base = 217ll;
int sub(int a, int b) { return ((a - b) % P + P) % P; }
bool check(int p, int q, int L) {
  int p0 = p + L - 1;
  int q0 = q + L - 1;
  int e1 = p0 - sum[p0];
  int e2 = q0 - sum[q0];
  int s1 = p - 1 - sum[p - 1];
  int s2 = q - 1 - sum[q - 1];
  if (sum[p0] - sum[p - 1] != sum[q0] - sum[q - 1]) return 0;
  if ((sum[p - 1] & 1) ^ (sum[q - 1] & 1))
    return (bool)(sub(T[e1], T[s1] * base[e1 - s1] % P) ==
                  sub(S[e2], S[s2] * base[e2 - s2] % P));
  else
    return (bool)(sub(S[e1], S[s1] * base[e1 - s1] % P) ==
                  sub(S[e2], S[s2] * base[e2 - s2] % P));
}
int main() {
  cin >> n;
  int x, y, l;
  base[0] = 1;
  for (int i = 1; i <= n; ++i) scanf("%1d", &a[i]), sum[i] = sum[i - 1] + a[i];
  for (int i = 1; i <= n; ++i) {
    if (!a[i]) {
      ++len;
      base[len] = (base[len - 1] * Base) % P;
      S[len] = (S[len - 1] * Base % P + (sum[i] & 1)) % P;
      T[len] = (T[len - 1] * Base % P + ((sum[i] & 1) ^ 1)) % P;
    }
  }
  cin >> m;
  while (m--) {
    scanf("%d%d%d", &x, &y, &l);
    if (check(x, y, l))
      puts("Yes");
    else
      puts("No");
  }
  return 0;
}
