#include <bits/stdc++.h>
using namespace std;
long long n, q;
long long bs[200010], cnt[200010], Hash[200010][2];
char s[200010];
long long read() {
  long long r = 0, f = 1;
  char c = getchar();
  while (c < '0' || c > '9') {
    if (c == '-') f = -1;
    c = getchar();
  }
  while (c <= '9' && c >= '0') r = (r << 1) + (r << 3) + c - '0', c = getchar();
  return r * f;
}
long long HASH(long long l, long long r, long long opt) {
  return (Hash[r][opt] -
          Hash[l - 1][opt] * bs[cnt[r] - cnt[l - 1]] % 998244353 + 998244353) %
         998244353;
}
signed main() {
  n = read(), bs[0] = 1;
  cin >> s + 1;
  for (long long i = 1; i <= n; i++) {
    bs[i] = bs[i - 1] * 104857601 % 998244353;
    if (s[i] == '1')
      Hash[i][0] = Hash[i - 1][0], Hash[i][1] = Hash[i - 1][1],
      cnt[i] = cnt[i - 1];
    else
      Hash[i][0] =
          (Hash[i - 1][0] * 104857601 % 998244353 + 1 + (i & 1 ? 1 : 0)) %
          998244353,
      Hash[i][1] =
          (Hash[i - 1][1] * 104857601 % 998244353 + 1 + (i & 1 ? 0 : 1)) %
          998244353,
      cnt[i] = cnt[i - 1] + 1;
  }
  q = read();
  while (q--) {
    long long s = read(), t = read(), l = read();
    if (HASH(s, s + l - 1, s & 1) ^ HASH(t, t + l - 1, t & 1))
      puts("No");
    else
      puts("Yes");
  }
  return 0;
}
