#include<bits/stdc++.h>

using namespace std;

const int MAXN = 5e5 + 10;
const int C = 26 + 1;
const int LOG = 19;

int n, nxt[MAXN][C], ss[MAXN][LOG];
string s;

bool check(int l, int r){
	for (int w = LOG - 1; ~w; w--)
		if (ss[l][w] != -1 && ss[l][w] <= r)
			l = ss[l][w];
	return l == r;
}

int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cin >> s; n = s.size();
	memset(nxt, -1, sizeof(nxt));
	memset(ss, -1, sizeof(ss));
	for (int i = n-1; ~i; i--){
		nxt[i][s[i] - 'a'] = i+1;
		for (int w = s[i] - 'a'+1; w < C; w++){
			int t = nxt[i][w - 1];
			if (t >= n || t == -1) break;
			nxt[i][w] = nxt[t][w - 1];
		}
		for (int w = 0; w < s[i] - 'a'; w++){
			int t = nxt[i][C - 1];
			if (t == -1) break;
			nxt[i][w] = nxt[t][w];
		}
		ss[i][0] = nxt[i][C - 1];
	}

	for (int w = 1; w < LOG; w++)
		for (int v = 0; v < n; v++)
			if (~ss[v][w - 1])
				ss[v][w] = ss[ss[v][w - 1]][w - 1];
			else
				ss[v][w] = -1;
	
	int q;	cin >> q;
	while (q--){
		int l, r;	cin >> l >> r, l--;
		if (check(l, r))
			cout << "Yes\n";
		else
			cout << "No\n";
	}
	return 0;
}
