#include <bits/stdc++.h>
using namespace std;
#define fi first
#define se second
typedef long long ll;
typedef pair<int, int> pii;
template <class X, class Y> bool mini(X& x, const Y& y) {
if(x > y){ x = y; return 1; }
return 0;
}
template <class X, class Y> bool maxi(X& x, const Y& y) {
if(x < y){ x = y; return 1; }
return 0;
}
const short N = 105;
short n, q = 3;
pii a[N], qe[5];
namespace sub1
{
bool check()
{
return n <= 25;
}
const int SZ = 34e6;
ll MXR = 0;
int cnt[5], div[SZ], cntd = 0;
void dq(short pos, int cur)
{
if(pos > n){
div[++cntd] = cur;
return ;
}
ll t = 1;
for(int i = 0; i <= a[pos].se; ++i){
if(cur * t > MXR) return ;
dq(pos + 1, cur * t);
t *= a[pos].fi;
}
}
void run()
{
for(int i = 1; i <= q; ++i)
maxi(MXR, qe[i].se);
dq(1, 1);
sort(div + 1, div + 1 + cntd);
for(int i = 1; i <= q; ++i){
int l = qe[i].fi, r = qe[i].se;
auto L = lower_bound(div + 1, div + 1 + cntd, l);
auto R = upper_bound(div + 1, div + 1 + cntd, r);
cout << R - L << "\n";
}
}
}
namespace sub2
{
void run()
{
}
}
int main()
{
ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0);
#define file "UOCSO"
if(fopen(file".inp", "r")){
freopen(file".inp", "r", stdin);
freopen(file".out", "w", stdout);
}
cin >> n;
for(int i = 1; i <= n; ++i){
cin >> a[i].fi >> a[i].se;
mini(a[i].se, 29);
}
for(int i = 1; i <= q; ++i){
cin >> qe[i].fi >> qe[i].se;
}
// sub2::run();
if(sub1::check()) sub1::run();
else sub2::run();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKCnR5cGVkZWYgbG9uZyBsb25nIGxsOwp0eXBlZGVmIHBhaXI8aW50LCBpbnQ+IHBpaTsKCnRlbXBsYXRlIDxjbGFzcyBYLCBjbGFzcyBZPiBib29sIG1pbmkoWCYgeCwgY29uc3QgWSYgeSkgewogICAgaWYoeCA+IHkpeyB4ID0geTsgcmV0dXJuIDE7IH0KICAgIHJldHVybiAwOwp9Cgp0ZW1wbGF0ZSA8Y2xhc3MgWCwgY2xhc3MgWT4gYm9vbCBtYXhpKFgmIHgsIGNvbnN0IFkmIHkpIHsKICAgIGlmKHggPCB5KXsgeCA9IHk7IHJldHVybiAxOyB9CiAgICByZXR1cm4gMDsKfQoKY29uc3Qgc2hvcnQgTiA9IDEwNTsKCnNob3J0IG4sIHEgPSAzOwpwaWkgYVtOXSwgcWVbNV07CgpuYW1lc3BhY2Ugc3ViMQp7CiAgICBib29sIGNoZWNrKCkKICAgIHsKICAgICAgICByZXR1cm4gbiA8PSAyNTsKICAgIH0KICAgIAogICAgY29uc3QgaW50IFNaID0gMzRlNjsKICAgIAogICAgbGwgTVhSID0gMDsKICAgIGludCBjbnRbNV0sIGRpdltTWl0sIGNudGQgPSAwOwogICAgdm9pZCBkcShzaG9ydCBwb3MsIGludCBjdXIpCiAgICB7CiAgICAgICAgaWYocG9zID4gbil7CiAgICAgICAgICAgIGRpdlsrK2NudGRdID0gY3VyOwogICAgICAgICAgICByZXR1cm4gOwogICAgICAgIH0KCiAgICAgICAgbGwgdCA9IDE7CiAgICAgICAgZm9yKGludCBpID0gMDsgaSA8PSBhW3Bvc10uc2U7ICsraSl7CiAgICAgICAgICAgIGlmKGN1ciAqIHQgPiBNWFIpIHJldHVybiA7CgogICAgICAgICAgICBkcShwb3MgKyAxLCBjdXIgKiB0KTsKICAgICAgICAgICAgdCAqPSBhW3Bvc10uZmk7CiAgICAgICAgfQogICAgfQogICAgdm9pZCBydW4oKQogICAgewogICAgICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gcTsgKytpKQogICAgICAgICAgICBtYXhpKE1YUiwgcWVbaV0uc2UpOwoKICAgICAgICBkcSgxLCAxKTsKICAgICAgICBzb3J0KGRpdiArIDEsIGRpdiArIDEgKyBjbnRkKTsKCiAgICAgICAgZm9yKGludCBpID0gMTsgaSA8PSBxOyArK2kpewogICAgICAgICAgICBpbnQgbCA9IHFlW2ldLmZpLCByID0gcWVbaV0uc2U7CiAgICAgICAgICAgIGF1dG8gTCA9IGxvd2VyX2JvdW5kKGRpdiArIDEsIGRpdiArIDEgKyBjbnRkLCBsKTsKICAgICAgICAgICAgYXV0byBSID0gdXBwZXJfYm91bmQoZGl2ICsgMSwgZGl2ICsgMSArIGNudGQsIHIpOwogICAgICAgICAgICBjb3V0IDw8IFIgLSBMIDw8ICJcbiI7CiAgICAgICAgfQogICAgfQp9CgpuYW1lc3BhY2Ugc3ViMgp7CiAgICB2b2lkIHJ1bigpCiAgICB7CgogICAgfQp9CgppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCksY2luLnRpZSgwKSxjb3V0LnRpZSgwKTsKICAgICNkZWZpbmUgZmlsZSAiVU9DU08iCiAgICBpZihmb3BlbihmaWxlIi5pbnAiLCAiciIpKXsKICAgICAgICBmcmVvcGVuKGZpbGUiLmlucCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4oZmlsZSIub3V0IiwgInciLCBzdGRvdXQpOwogICAgfQoKICAgIGNpbiA+PiBuOwogICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyArK2kpewogICAgICAgIGNpbiA+PiBhW2ldLmZpID4+IGFbaV0uc2U7CiAgICAgICAgbWluaShhW2ldLnNlLCAyOSk7CiAgICB9CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IHE7ICsraSl7CiAgICAgICAgY2luID4+IHFlW2ldLmZpID4+IHFlW2ldLnNlOwogICAgfQoKLy8gICAgc3ViMjo6cnVuKCk7CgogICAgaWYoc3ViMTo6Y2hlY2soKSkgc3ViMTo6cnVuKCk7CiAgICBlbHNlIHN1YjI6OnJ1bigpOwoKICAgIHJldHVybiAwOwp9Cg==