//teja349 #include #include #include #include #include #include #include #include #include #include #include #include #include #include //setbase - cout << setbase (16); cout << 100 << endl; Prints 64 //setfill - cout << setfill ('x') << setw (5); cout << 77 << endl; prints xxx77 //setprecision - cout << setprecision (14) << f << endl; Prints x.xxxx //cout.precision(x) cout<=b;i--) #define pb push_back #define mp make_pair #define vi vector< int > #define vl vector< ll > #define ss second #define ff first #define ll long long #define pii pair< int,int > #define pll pair< ll,ll > #define sz(a) a.size() #define inf (1000*1000*1000+5) #define all(a) a.begin(),a.end() #define tri pair #define vii vector #define vll vector #define viii vector #define mod (1000*1000*1000+7) #define pqueue priority_queue< int > #define pdqueue priority_queue< int,vi ,greater< int > > //std::ios::sync_with_stdio(false); ll inv[100003],mult[100003],invmult[100003]; ll gcd(ll a,ll b){ while(b!=0){ a=a%b; swap(a,b); } return a; } ll extend_gcd(ll a,ll b,ll &x,ll &y){ if(b==0){ x=1; y=0; return a; } ll x1,y1; ll ans =extend_gcd(b,a%b,x1,y1); x=y1; y=x1-(a/b)*y1; return ans; } ll combination(ll n,ll r){ if(r==0) return 1; if(n0) inv[i]=y%mod; else{ inv[i]=(y+mod)%mod; } } mult[0]=1; f(i,1,100001){ mult[i]=mult[i-1]*i; mult[i]%=mod; } invmult[0]=1; f(i,1,100001){ invmult[i]=invmult[i-1]*inv[i]; invmult[i]%=mod; } return 0; } // do initcombi(); int arr[123456][30]; ll haha[1234]; int main(){ initcombi(); std::ios::sync_with_stdio(false); string s; cin>>s; int q; cin>>q; int n=s.length(); int i,j; rep(i,n){ arr[i+1][s[i]-'a']++; } f(i,1,n+1){ rep(j,26){ arr[i][j]+=arr[i-1][j]; } } int l,r; while(q--){ cin>>l>>r; ll cnt=0,ans=1,sumi=0; rep(i,26){ haha[i]=arr[r][i]-arr[l-1][i]; if(haha[i]%2){ cnt++; } haha[i]/=2; sumi+=haha[i]; } // if(sumi==0){ // cout<