#include <bits/stdc++.h>
#define lol long long
using namespace std;
//void tree(lol A[], lol T[], lol l, lol r, lol a)
//{
//    if (l==r)
//    {
//        T[a]=A[l];
//        return;
//    }
//    lol m=(l+r)/2;
//    tree(A, T, l, m, a*2+1);
//    tree(A, T, m+1, r, a*2+2);
//    T[a]=T[a*2+1]+T[a*2+2];
//}
//lol f(lol A[], lol l, lol r, lol ll, lol rr)
//{
//    if (l==r)
//    {
//        if ()
//    }
//    lol m=(l+r)/2;
//    return
//}
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
string s;
cin>>s;
lol A[s.size()]={0};
for (lol i=0;i<s.size()-1;i++)
{
    if (s[i]>s[i+1]) A[i]=1;
}
A[s.size()-1]=1;
for (lol i=1;i<s.size();i++)
{
    A[i]+=A[i-1];
}
//lol T[k*2];
//tree(T, A, 0, k-1, 0);
//for (lol i=0;i<s.size();i++)
//  cout<<A[i]<<" ";
lol n;
cin>>n;
for (lol i=0;i<n;i++)
{
    lol l, r;
    cin>>l>>r;
    l--;
    r--;
    lol ans;
    //if (l==r) ans=1;
    //else
    {
    if (l==0) ans=A[r];
    else ans=A[r]-A[l-1];
    if (r>0)
    {
        if (A[r]==A[r-1]) ans++;
    }
    }
    cout<<ans<<"\n";
}
}
