#include <iostream>
#include <vector>
#include <array>
#include <set>
#include <utility>
#include <cstdint>
#include <algorithm>
#include <stack>
#include <string>
#include <thread>
#include <chrono>
#include <numeric>
#include <unordered_map>
using namespace std;
#define vi vector<int>
template <typename T>
ostream &operator<<(ostream &os, vector<T> &v)
{
for (auto &i : v)
os << i << ' ';
return os;
}
template <typename T>
istream &operator>>(istream &is, vector<T> &v)
{
for (auto &i : v)
is >> i;
return is;
}
void alaa()
{
string s; cin >> s;
int q; cin >> q;
vi prefix(s.size()+1);
for (int i = 1; i <= s.size(); i++)
{
prefix[i] = prefix[i - 1] + (s[i - 1] == 'a');
}
while (q--)
{
int l, r;
cin >> l >> r;
int ans = prefix[r] - prefix[l - 1];
cout << ans << "\n";
}
}
int32_t main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int t = 1;
while (t--)
alaa();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YXJyYXk+CiNpbmNsdWRlIDxzZXQ+CiNpbmNsdWRlIDx1dGlsaXR5PgojaW5jbHVkZSA8Y3N0ZGludD4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPHN0YWNrPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dGhyZWFkPgojaW5jbHVkZSA8Y2hyb25vPgojaW5jbHVkZSA8bnVtZXJpYz4KI2luY2x1ZGUgPHVub3JkZXJlZF9tYXA+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgdmkgdmVjdG9yPGludD4KdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cm9zdHJlYW0gJm9wZXJhdG9yPDwob3N0cmVhbSAmb3MsIHZlY3RvcjxUPiAmdikKewogICAgZm9yIChhdXRvICZpIDogdikKICAgICAgICBvcyA8PCBpIDw8ICcgJzsKICAgIHJldHVybiBvczsKfQp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KaXN0cmVhbSAmb3BlcmF0b3I+Pihpc3RyZWFtICZpcywgdmVjdG9yPFQ+ICZ2KQp7CiAgICBmb3IgKGF1dG8gJmkgOiB2KQogICAgICAgIGlzID4+IGk7CiAgICByZXR1cm4gaXM7Cn0KCnZvaWQgYWxhYSgpCnsKCiAgICBzdHJpbmcgczsgY2luID4+IHM7CiAgICBpbnQgcTsgY2luID4+IHE7CiAgICB2aSBwcmVmaXgocy5zaXplKCkrMSk7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBzLnNpemUoKTsgaSsrKQogICAgewogICAgICAgIHByZWZpeFtpXSA9IHByZWZpeFtpIC0gMV0gKyAoc1tpIC0gMV0gPT0gJ2EnKTsKICAgIH0KCgogICAgd2hpbGUgKHEtLSkKICAgIHsKICAgICAgICBpbnQgbCwgcjsKICAgICAgICBjaW4gPj4gbCA+PiByOwogICAgICAgIGludCBhbnMgPSBwcmVmaXhbcl0gLSBwcmVmaXhbbCAtIDFdOwogICAgICAgIGNvdXQgPDwgYW5zIDw8ICJcbiI7CiAgICB9Cn0KCmludDMyX3QgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKTsKICAgIGludCB0ID0gMTsKICAgIHdoaWxlICh0LS0pCiAgICAgICAgYWxhYSgpOwoKICAgIHJldHVybiAwOwp9Cg==