#include<bits/stdc++.h>
using namespace std;
const int N=600000;
int f[N][30],g[N][21],das;
char s[N];
int q;
#define idx(x) x-'a'+1
int main(){
	scanf("%s",s+1);
	int n=strlen(s+1);
	f[n][idx(s[n])]=n+1;;
	for (int i=n-1;i>=1;i--){
		f[i][idx(s[i])]=i+1;
		for (int j=idx(s[i])+1;j<=27;j++) f[i][j]=f[f[i][j-1]][j-1];
		for (int j=1;j<idx(s[i]);j++) f[i][j]=f[f[i][27]][j];
	}
	
	for (int i=1;i<=n;i++) g[i][0]=f[i][27];
	for (int k=1;(1<<k)<=n;k++)
		for (int i=1;i<=n;i++)
			g[i][k]=g[g[i][k-1]][k-1];
	
	scanf("%d",&q);
	while (q--){
		das++;
		int x,y;
		scanf("%d%d",&x,&y);
		int lg=20;
		while (lg>=0&&(!g[x][lg]||g[x][lg]>y+1)) lg--;
		if (lg<0) puts("No");
		else{
			while (lg>=0){
                        if (g[x][lg]&&g[x][lg]<=y+1){
				x=g[x][lg];}lg--;
			}
			if (x==y+1) puts("Yes");else puts("No");
		}
	}
	return 0;
}