#include<iostream>
#include<string>
#include<vector>
#include<map>
#include<algorithm>
#include<queue>
#include<fstream>
#include<bitset>
using namespace std;
int main()
{
string t, p;
int q;
cin >> t >> p >> q;
vector<int> sum1(t.size(), 0);
for (int i = 0; i <= t.size()-p.size(); i++)
{
if (p == t.substr(i, p.size()))
sum1[i+p.size()-1]++;
}
for (int i = 1; i < sum1.size(); i++)
sum1[i] += sum1[i - 1];
vector<int> sum2(t.size(), 0);
for (int i = 0; i <= t.size() - p.size(); i++)
{
if (p == t.substr(i, p.size()))
sum2[i]++;
}
for (int i = 1; i < sum2.size(); i++)
sum2[i] += sum2[i - 1];
while (q--)
{
int a, b;
cin >> a >> b;
a--;
b--;
int ans;
if (a != 0)
ans = sum1[b] - sum2[a - 1];
else
ans = sum1[b];
if (ans < 0)
ans = 0;
cout << ans << endl;
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHN0cmluZz4KI2luY2x1ZGU8dmVjdG9yPgojaW5jbHVkZTxtYXA+CiNpbmNsdWRlPGFsZ29yaXRobT4KI2luY2x1ZGU8cXVldWU+CiNpbmNsdWRlPGZzdHJlYW0+CiNpbmNsdWRlPGJpdHNldD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAppbnQgbWFpbigpCnsKCXN0cmluZyB0LCBwOwoJaW50IHE7CgljaW4gPj4gdCA+PiBwID4+IHE7CiAKCXZlY3RvcjxpbnQ+IHN1bTEodC5zaXplKCksIDApOwoJZm9yIChpbnQgaSA9IDA7IGkgPD0gdC5zaXplKCktcC5zaXplKCk7IGkrKykKCXsKCQlpZiAocCA9PSB0LnN1YnN0cihpLCBwLnNpemUoKSkpCgkJCXN1bTFbaStwLnNpemUoKS0xXSsrOwoJfQoJZm9yIChpbnQgaSA9IDE7IGkgPCBzdW0xLnNpemUoKTsgaSsrKQoJCXN1bTFbaV0gKz0gc3VtMVtpIC0gMV07CiAKCXZlY3RvcjxpbnQ+IHN1bTIodC5zaXplKCksIDApOwoJZm9yIChpbnQgaSA9IDA7IGkgPD0gdC5zaXplKCkgLSBwLnNpemUoKTsgaSsrKQoJewoJCWlmIChwID09IHQuc3Vic3RyKGksIHAuc2l6ZSgpKSkKCQkJc3VtMltpXSsrOwoJfQoJZm9yIChpbnQgaSA9IDE7IGkgPCBzdW0yLnNpemUoKTsgaSsrKQoJCXN1bTJbaV0gKz0gc3VtMltpIC0gMV07CiAKCXdoaWxlIChxLS0pCgl7CgkJaW50IGEsIGI7CgkJY2luID4+IGEgPj4gYjsKCQlhLS07CgkJYi0tOwoJCWludCBhbnM7CgkJaWYgKGEgIT0gMCkKCQkJYW5zID0gc3VtMVtiXSAtIHN1bTJbYSAtIDFdOwoJCWVsc2UKCQkJYW5zID0gc3VtMVtiXTsKCQlpZiAoYW5zIDwgMCkKCQkJYW5zID0gMDsKCQljb3V0IDw8IGFucyA8PCBlbmRsOwoJfQogCglyZXR1cm4gMDsKfQ==