#include <bits/stdc++.h>
using namespace std;
const long long inf = 1e18;
const long long mod = 1e9 + 7;
struct Stupid {
  long long similar(string s, string t) {
    long long n = s.size();
    for (long long i = 1; i < n; ++i) {
      string sn = {s.begin(), s.begin() + i};
      string tn = {t.begin(), t.begin() + i};
      sort(sn.begin(), sn.end());
      sort(tn.begin(), tn.end());
      if (sn == tn) return 1;
    }
    return 0;
  }
  string has(string s) {
    string t = s;
    sort(t.begin(), t.end());
    do {
      if (!similar(s, t)) return t;
    } while (next_permutation(t.begin(), t.end()));
    return "";
  }
};
struct Clever {
  long long solve(string s) {
    set<long long> a;
    for (char c : s) a.insert(c);
    if (s[0] != s.back()) return 1;
    if (a.size() >= 3) return 1;
    return 0;
  }
};
struct Solver {
  string s;
  vector<pair<long long, long long>> qa;
  vector<vector<long long>> p;
  long long n;
  static const long long m = 26;
  Solver(string s, vector<pair<long long, long long>> qa) : s(s), qa(qa) {
    n = s.size();
    p.assign(n, vector<long long>(m, 0));
    for (long long i = 0; i < n; ++i) {
      long long c = s[i] - 'a';
      p[i][c] += 1;
      for (long long j = 0; j < m; ++j) {
        if (i > 0) p[i][j] += p[i - 1][j];
      }
    }
  }
  long long _solve(long long l, long long r) {
    if (l == r) return 1;
    if (s[l] != s[r]) return 1;
    long long cnt = 0;
    for (long long i = 0; i < m; ++i) {
      long long t = p[r][i] - (l > 0 ? p[l - 1][i] : 0);
      if (t > 0) cnt++;
    }
    return cnt >= 3;
  }
  vector<long long> solve() {
    long long q = qa.size();
    vector<long long> res(q, 0);
    for (long long i = 0; i < q; ++i) {
      res[i] = _solve(qa[i].first, qa[i].second);
    }
    return res;
  }
};
string get_s(long long n, long long m = 5) {
  string s = "";
  for (long long i = 0; i < n; ++i) s += char('a' + (rand() % m));
  return s;
}
const long long local = 0, stress = 0;
int32_t main() {
  if (local && !stress) freopen("inp.txt", "r", stdin);
  if (!local && !stress) cin.tie(0);
  cout.tie(0);
  if (!local && !stress) ios_base::sync_with_stdio(0);
  long long tests = (stress ? 1000 : 1);
  if (local && !stress) cin >> tests;
  while (tests--) {
    if (!stress) {
      string s;
      cin >> s;
      long long q;
      cin >> q;
      vector<pair<long long, long long>> qa;
      for (long long i = 0; i < q; ++i) {
        long long l, r;
        cin >> l >> r;
        l--;
        r--;
        qa.push_back({l, r});
      }
      Solver solver(s, qa);
      vector<long long> res = solver.solve();
      for (long long i : res) cout << (i ? "Yes" : "No") << "\n";
    } else {
      long long n = 3;
      string s = get_s(n, 5);
      Stupid stupid;
      Clever clever;
      long long res = clever.solve(s);
      string t = stupid.has(s);
      if ((res && t.empty()) || (!res && !t.empty())) {
        cout << "MDA " << s << "\n";
        cout << res << " " << t << "\n\n";
      }
    }
  }
  return 0;
}
