#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+IGk7CiAgICByZXR1cm4gaXM7Cn0KCnZvaWQgYWxhYSgpCnsKCiAgICBzdHJpbmcgczsKICAgIGNpbiA+PiBzOwogICAgaW50IHE7CiAgICBjaW4gPj4gcTsKICAgIHZpIHByZWZpeChzLnNpemUoKSsxKTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IHMuc2l6ZSgpOyBpKyspCiAgICB7CiAgICAgICAgcHJlZml4W2ldID0gcHJlZml4W2kgLSAxXSArIChzW2kgLSAxXSA9PSAnYScpOwogICAgfQoKCiAgICB3aGlsZSAocS0tKQogICAgewogICAgICAgIGludCBsLCByOwogICAgICAgIGNpbiA+PiBsID4+IHI7CiAgICAgICAgaW50IGFucyA9IHByZWZpeFtyXSAtIHByZWZpeFtsIC0gMV07CiAgICAgICAgY291dCA8PCBhbnMgPDwgIlxuIjsKICAgIH0KfQoKaW50MzJfdCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogICAgaW50IHQgPSAxOwogICAgd2hpbGUgKHQtLSkKICAgICAgICBhbGFhKCk7CgogICAgcmV0dXJuIDA7Cn0K