#include<bits/stdc++.h>
/*#include <boost/multiprecision/cpp_int.hpp>
using namespace boost::multiprecision; */
using namespace std;
#define ll long long int
#define MOD 1000000007
#define fori(i,a,b) for(ll i=a;i<b;i++)
#define ford(i,a,b) for(ll i=a;i>=b;i--)
#define all(arr) arr.begin(),arr.end()
#define mp make_pair
#define sorti(v) sort(v.begin(),v.end())
#define sortd(v) sort(v.rbegin(),v.rend())
#define IOS ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
template <typename T1, typename T2>
inline std::ostream& operator << (std::ostream& os, const std::pair<T1, T2>& p)
{
return os << "(" << p.first << ", " << p.second << ")";
}
template<typename T>
inline std::ostream &operator << (std::ostream & os,const std::vector<T>& v)
{
bool first = true;
os << "[";
for(unsigned int i = 0; i < v.size(); i++)
{
if(!first)
os << ", ";
os << v[i];
first = false;
}
return os << "]";
}
template<typename T>
inline std::ostream &operator << (std::ostream & os,const std::set<T>& v)
{
bool first = true;
os << "[";
for (typename std::set<T>::const_iterator ii = v.begin(); ii != v.end(); ++ii)
{
if(!first)
os << ", ";
os << *ii;
first = false;
}
return os << "]";
}
template<typename T1, typename T2>
inline std::ostream &operator << (std::ostream & os,const std::map<T1, T2>& v)
{
bool first = true;
os << "[";
for (typename std::map<T1, T2>::const_iterator ii = v.begin(); ii != v.end(); ++ii)
{
if(!first)
os << ", ";
os << *ii ;
first = false;
}
return os << "]";
}
ll power(ll x,ll y){
ll res=1;
while(y>0){
if(y&1)
res=(res*x);
y=y>>1;
x=(x*x);
}
return (res);
}
typedef pair<ll,ll> pll;
typedef pair<int,int> pii;
typedef vector<int> vi;
typedef vector<pii> vii;
int main(){
IOS
string s;
cin>>s;
int n=s.length();
vector<int> pre(n+1);
pre[0]=0;
fori(i,1,n+1){
pre[i]=pre[i-1];
if(s[i-1]==s[i-2])
pre[i]++;
}
int m;cin>>m;
int l,r;
while(m--){
cin>>l>>r;
cout<<pre[r]-pre[l-1]<<endl;
}
cout<<pre<<endl;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4gCi8qI2luY2x1ZGUgPGJvb3N0L211bHRpcHJlY2lzaW9uL2NwcF9pbnQuaHBwPiAKdXNpbmcgbmFtZXNwYWNlIGJvb3N0OjptdWx0aXByZWNpc2lvbjsgKi8KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBsbCBsb25nIGxvbmcgaW50CiNkZWZpbmUgTU9EIDEwMDAwMDAwMDcKI2RlZmluZSBmb3JpKGksYSxiKSBmb3IobGwgaT1hO2k8YjtpKyspCiNkZWZpbmUgZm9yZChpLGEsYikgZm9yKGxsIGk9YTtpPj1iO2ktLSkKI2RlZmluZSBhbGwoYXJyKSBhcnIuYmVnaW4oKSxhcnIuZW5kKCkKI2RlZmluZSBtcCBtYWtlX3BhaXIKI2RlZmluZSBzb3J0aSh2KSBzb3J0KHYuYmVnaW4oKSx2LmVuZCgpKQojZGVmaW5lIHNvcnRkKHYpIHNvcnQodi5yYmVnaW4oKSx2LnJlbmQoKSkKI2RlZmluZSBJT1MgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7Y2luLnRpZShOVUxMKTtjb3V0LnRpZShOVUxMKTsgCnRlbXBsYXRlIDx0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDI+CiAgICBpbmxpbmUgc3RkOjpvc3RyZWFtJiBvcGVyYXRvciA8PCAoc3RkOjpvc3RyZWFtJiBvcywgY29uc3Qgc3RkOjpwYWlyPFQxLCBUMj4mIHApCiAgICB7CiAgICAgICAgcmV0dXJuIG9zIDw8ICIoIiA8PCBwLmZpcnN0IDw8ICIsICIgPDwgcC5zZWNvbmQgPDwgIikiOwogICAgfQogICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KICAgIGlubGluZSBzdGQ6Om9zdHJlYW0gJm9wZXJhdG9yIDw8IChzdGQ6Om9zdHJlYW0gJiBvcyxjb25zdCBzdGQ6OnZlY3RvcjxUPiYgdikKICAgIHsKICAgICAgICBib29sIGZpcnN0ID0gdHJ1ZTsKICAgICAgICBvcyA8PCAiWyI7CiAgICAgICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IHYuc2l6ZSgpOyBpKyspCiAgICAgICAgewogICAgICAgICAgICBpZighZmlyc3QpCiAgICAgICAgICAgICAgICBvcyA8PCAiLCAiOwogICAgICAgICAgICBvcyA8PCB2W2ldOwogICAgICAgICAgICBmaXJzdCA9IGZhbHNlOwogICAgICAgIH0KICAgICAgICByZXR1cm4gb3MgPDwgIl0iOwogICAgfQogICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KICAgIGlubGluZSBzdGQ6Om9zdHJlYW0gJm9wZXJhdG9yIDw8IChzdGQ6Om9zdHJlYW0gJiBvcyxjb25zdCBzdGQ6OnNldDxUPiYgdikKICAgIHsKICAgICAgICBib29sIGZpcnN0ID0gdHJ1ZTsKICAgICAgICBvcyA8PCAiWyI7CiAgICAgICAgZm9yICh0eXBlbmFtZSBzdGQ6OnNldDxUPjo6Y29uc3RfaXRlcmF0b3IgaWkgPSB2LmJlZ2luKCk7IGlpICE9IHYuZW5kKCk7ICsraWkpCiAgICAgICAgewogICAgICAgICAgICBpZighZmlyc3QpCiAgICAgICAgICAgICAgICBvcyA8PCAiLCAiOwogICAgICAgICAgICBvcyA8PCAqaWk7CiAgICAgICAgICAgIGZpcnN0ID0gZmFsc2U7CiAgICAgICAgfQogICAgICAgIHJldHVybiBvcyA8PCAiXSI7CiAgICB9CiAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDI+CiAgICBpbmxpbmUgc3RkOjpvc3RyZWFtICZvcGVyYXRvciA8PCAoc3RkOjpvc3RyZWFtICYgb3MsY29uc3Qgc3RkOjptYXA8VDEsIFQyPiYgdikKICAgIHsKICAgICAgICBib29sIGZpcnN0ID0gdHJ1ZTsKICAgICAgICBvcyA8PCAiWyI7CiAgICAgICAgZm9yICh0eXBlbmFtZSBzdGQ6Om1hcDxUMSwgVDI+Ojpjb25zdF9pdGVyYXRvciBpaSA9IHYuYmVnaW4oKTsgaWkgIT0gdi5lbmQoKTsgKytpaSkKICAgICAgICB7CiAgICAgICAgICAgIGlmKCFmaXJzdCkKICAgICAgICAgICAgICAgIG9zIDw8ICIsICI7CiAgICAgICAgICAgIG9zIDw8ICppaSA7CiAgICAgICAgICAgIGZpcnN0ID0gZmFsc2U7CiAgICAgICAgfQogICAgICAgIHJldHVybiBvcyA8PCAiXSI7CiAgICB9CmxsIHBvd2VyKGxsIHgsbGwgeSl7CiAgICBsbCByZXM9MTsKICAgIHdoaWxlKHk+MCl7CiAgICAgICAgaWYoeSYxKSAKICAgICAgICAgICAgcmVzPShyZXMqeCk7IAogICAgICAgIHk9eT4+MTsKICAgICAgICB4PSh4KngpOwogICAgfQogICAgcmV0dXJuIChyZXMpOwp9CnR5cGVkZWYgcGFpcjxsbCxsbD4gcGxsOwp0eXBlZGVmIHBhaXI8aW50LGludD4gcGlpOwp0eXBlZGVmIHZlY3RvcjxpbnQ+IHZpOwp0eXBlZGVmIHZlY3RvcjxwaWk+IHZpaTsKaW50IG1haW4oKXsKCUlPUwogICAgc3RyaW5nIHM7CiAgICBjaW4+PnM7CiAgICBpbnQgbj1zLmxlbmd0aCgpOwogICAgdmVjdG9yPGludD4gcHJlKG4rMSk7CiAgICBwcmVbMF09MDsKICAgIGZvcmkoaSwxLG4rMSl7CiAgICAgICAgcHJlW2ldPXByZVtpLTFdOwogICAgICAgIGlmKHNbaS0xXT09c1tpLTJdKQogICAgICAgICAgICBwcmVbaV0rKzsKICAgIH0KICAgIGludCBtO2Npbj4+bTsKICAgIGludCBsLHI7CiAgICB3aGlsZShtLS0pewogICAgICAgIGNpbj4+bD4+cjsKICAgICAgICBjb3V0PDxwcmVbcl0tcHJlW2wtMV08PGVuZGw7CiAgICB9CiAgICBjb3V0PDxwcmU8PGVuZGw7Cn0=