#include<bits/stdc++.h>
using namespace std;
//      std macros
typedef long long ll;
typedef pair<int ,int> pii;
typedef pair<ll ,ll> pll;
//      dereference
#define F first
#define S second
#define pb push_back
#define mp make_pair
//      loops
#define rep(i,n) for(int i=0;i<n;++i)
#define REP(i,a,b) for(int i=a;i<=b;++i)
#define PER(i,b,a) for(int i=b;i>=a;--i)
#define all(X) (X).begin(), (X).end()
//      I/O
#define sd(n) scanf("%d",&n)
#define sd2(x,y) scanf("%d%d",&x,&y)
#define sd3(x,y,z) scanf("%d%d%d",&x,&y,&z)
#define sll(n) scanf("%lld",&n)
#define sll2(x,y) scanf("%lld%lld",&x,&y)
#define sll3(x,y,z) scanf("%lld%lld%lld",&x,&y,&z)
#define ss(s) scanf("%s",s)
//      debug
#define debug(x) cerr<<"debug->"<<#x<<"::"<<x<<endl
#define debug2(x,y) cerr<<#x<<" :: "<<x<<"\t"<<#y<<" :: "<<y<<"\n"
#define debug3(x,y,z) cerr<<#x<<" :: "<<x<<"\t"<<#y<<" :: "<<y<<"\t"<<#z<<" :: "<<z<<"\n"
#define debug4(x,y,z,w) cerr<<#x<<" :: "<<x<<"\t"<<#y<<" :: "<<y<<"\t"<<#z<<" :: "<<z<<"\t"<<#w<<" :: "<<w<<"\n"
//      set values
#define mset(n,k) memset(n,k,sizeof(n))
//modular expo
ll power(ll a,ll b, ll c){
    ll x=1,y=a;
    while(b>0){
        if(b&1)
            x=(x*y)%c;
        y=(y*y)%c;
        b/=2;
    }
    return x%c;
}
int dx[]={0,-1,0,1};
int dy[]={-1,0,1,0};//clockwise from left
int dr[]={1,1,0,-1,-1,-1, 0, 1};
int dc[]={0,1,1, 1, 0,-1,-1,-1};//anticlockwise from down
const ll N = 1e5+5,MOD = 1e9+7;
ll DP[N][30],F[N],IF[N];
int main() {

	F[0] = IF[0] = 1;
	REP(i,1,N-1) {
		F[i] = (i*F[i-1])%MOD;
		IF[i] = power(F[i],MOD-2,MOD);
	}
	string s;
	cin>>s;
	int n = s.size();
	REP(i,1,n) {
		DP[i][s[i-1]-'a'] = 1;
		rep(j,26) {
			DP[i][j]+=DP[i-1][j];
		}
	}
	int q;
	sd(q);
	while(q--) {
		int x,y;
		sd2(x,y);
		ll odd = 0,den = 1,num = 1,tot = 0;
		rep(j,26) {
			ll occ = DP[y][j]-DP[x-1][j];
			odd+=(occ&1);
			ll ti = occ/2;
			tot+=ti;
			den = (den*IF[ti])%MOD;
		}
		num = F[tot];
		ll ans = (num*den)%MOD;
		//debug2(ans,odd);
		if(odd)
			ans = (ans*odd)%MOD;
		printf("%lld\n",ans);
	}

	
	
	return 0;
}