#include <bits/stdc++.h>
using namespace std;

const int MAXL=500005;

char s[MAXL];
int nxt[MAXL][27],maxbit,d[20][MAXL];

int main()
{
	scanf("%s",s);
	int l=strlen(s);
	fill(nxt[l],nxt[l]+26,l+1);
	nxt[l][26]=l;
	fill(nxt[l+1],nxt[l+1]+27,l+1);
	for (int i=l-1;i>=0;i--)
	{
		int c=s[i]-'a';
		nxt[i][c]=i+1;
		for (int j=c+1;j<27;j++)
			nxt[i][j]=nxt[nxt[i][j-1]][j-1];
		for (int j=0;j<c;j++)
			nxt[i][j]=nxt[nxt[i][26]][j];
	}
	while ((1<<maxbit)<=l+2) maxbit++;
	maxbit--;
	for (int i=0;i<=l+1;i++)
		d[0][i]=nxt[i][26];
	for (int j=1;j<=maxbit;j++)
		for (int i=0;i<=l+1;i++)
			d[j][i]=d[j-1][d[j-1][i]];
	int Q;
	scanf("%d",&Q);
	while (Q--)
	{
		int l,r;
		scanf("%d%d",&l,&r);
		l--;
		for (int i=maxbit;i>=0;i--)
			if (d[i][l]<=r)
				l=d[i][l];
		puts(l==r?"Yes":"No");
	}
	return 0;
}