#include <bits/stdc++.h>
using namespace std;
char s[300005];
int dp[300005];
int sx[300005], sy[300005], sz[300005];
bool judge(int l, int r) {
  int nx = sx[r] - sx[l - 1];
  int ny = sy[r] - sy[l - 1];
  int nz = sz[r] - sz[l - 1];
  if (nx == ny && ny == nz) return true;
  if (nx == nz) {
    if (nx + 1 == ny || nx - 1 == ny)
      return true;
    else
      return false;
  }
  if (nz == ny) {
    if (nz + 1 == nx || nz - 1 == nx)
      return true;
    else
      return false;
  }
  if (nx == ny) {
    if (nx + 1 == nz || nx - 1 == nz)
      return true;
    else
      return false;
  }
  return false;
}
int main() {
  int i, j, k;
  int m, l, r;
  while (scanf("%s", s) != EOF) {
    int len = strlen(s);
    for (i = 0; i < len; i++) {
      if (s[i] == 'x') sx[i + 1]++;
      if (s[i] == 'y') sy[i + 1]++;
      if (s[i] == 'z') sz[i + 1]++;
      if (i) {
        sx[i + 1] += sx[i];
        sy[i + 1] += sy[i];
        sz[i + 1] += sz[i];
      }
    }
    scanf("%d", &m);
    for (i = 1; i <= m; i++) {
      scanf("%d%d", &l, &r);
      if (judge(l, r) || r < l + 2) {
        puts("YES");
      } else
        puts("NO");
    }
  }
  return 0;
}
