// ~~ icebear love atttttttttttt ~~
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
typedef pair<ii, int> iii;
#define FOR(i,a,b) for(int i=(a); i<=(b); ++i)
#define FORR(i,a,b) for(int i=(a); i>=(b); --i)
#define rep(i, n) for(int i=0; i<(n); ++i)
#define red(i, n) for(int i=(n)-1; i>=0; --i)
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define all(x) x.begin(), x.end()
#define task "icebearat"
const int MOD = 1e9 + 7;
const int inf = 1e9 + 27092008;
const ll LLinf = 1e18 + 27092008;
const int N = 4e5 + 5;
int n, q, par[N][19];
ii range[N];
vector<int> compress;
int curId = 0;
int st[N << 2], lazy[N << 2];
void pushDown(int id) {
int &t = lazy[id];
if (t) {
st[id << 1] += t;
lazy[id << 1] += t;
st[id << 1 | 1] += t;
lazy[id << 1 | 1] += t;
t = 0;
}
}
void update(int id, int l, int r, int u, int v, int k) {
if (l > v || r < u) return;
if (u <= l && r <= v) {
st[id] += k;
lazy[id] += k;
return;
}
pushDown(id);
int mid = (l + r) >> 1;
update(id << 1, l, mid, u, v, k);
update(id << 1 | 1, mid + 1, r, u, v, k);
st[id] = max(st[id << 1], st[id << 1 | 1]);
}
int getMax(int id, int l, int r, int u, int v) {
if (l > v || r < u) return 0;
if (u <= l && r <= v) return st[id];
pushDown(id);
int mid = (l + r) >> 1;
return max(getMax(id << 1, l, mid, u, v),
getMax(id << 1 | 1, mid + 1, r, u, v));
}
void init() {
cin >> n;
FOR(i, 1, n) cin >> range[i].fi >> range[i].se, compress.pb(range[i].fi), compress.pb(range[i].se);
sort(all(compress));
compress.resize(unique(all(compress)) - compress.begin());
FOR(i, 1, n) {
range[i].fi = lower_bound(all(compress), range[i].fi) - compress.begin() + 1;
range[i].se = lower_bound(all(compress), range[i].se) - compress.begin() + 1;
}
}
void prepare() {
int j = n;
memset(par, 0x3f, sizeof par);
FORR(i, n, 1) {
while(getMax(1, 1, N - 5, range[i].fi, range[i].se)) {
update(1, 1, N - 5, range[j].fi, range[j].se, -1);
j--;
}
update(1, 1, N - 5, range[i].fi, range[i].se, +1);
par[i][0] = j + 1;
}
FOR(j, 1, 18) FOR(i, 1, n + 1)
if (par[i][j - 1] <= n + 1) par[i][j] = par[par[i][j - 1]][j - 1];
}
void solve() {
init();
prepare();
cin >> q;
while(q--) {
int l, r;
cin >> l >> r;
int ans = 0;
FORR(j, 18, 0) {
if (l <= r && par[l][j] - 1 <= r) {
ans += (1 << j);
l = par[l][j];
}
}
if (l <= r) ans++;
cout << ans << '\n';
}
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
if (fopen(task".inp", "r")){
freopen(task".inp", "r", stdin);
freopen(task".out", "w", stdout);
}
int tc = 1;
// cin >> tc;
while(tc--) solve();
return 0;
}
Ly8gfn4gaWNlYmVhciBsb3ZlIGF0dHR0dHR0dHR0dHQgfn4KI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKdHlwZWRlZiBwYWlyPGludCwgaW50PiBpaTsKdHlwZWRlZiBwYWlyPGlpLCBpbnQ+IGlpaTsKCiNkZWZpbmUgRk9SKGksYSxiKSBmb3IoaW50IGk9KGEpOyBpPD0oYik7ICsraSkKI2RlZmluZSBGT1JSKGksYSxiKSBmb3IoaW50IGk9KGEpOyBpPj0oYik7IC0taSkKI2RlZmluZSByZXAoaSwgbikgZm9yKGludCBpPTA7IGk8KG4pOyArK2kpCiNkZWZpbmUgcmVkKGksIG4pIGZvcihpbnQgaT0obiktMTsgaT49MDsgLS1pKQojZGVmaW5lIG1wIG1ha2VfcGFpcgojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgYWxsKHgpIHguYmVnaW4oKSwgeC5lbmQoKQojZGVmaW5lIHRhc2sgImljZWJlYXJhdCIKCmNvbnN0IGludCBNT0QgPSAxZTkgKyA3Owpjb25zdCBpbnQgaW5mID0gMWU5ICsgMjcwOTIwMDg7CmNvbnN0IGxsIExMaW5mID0gMWUxOCArIDI3MDkyMDA4Owpjb25zdCBpbnQgTiA9IDRlNSArIDU7CmludCBuLCBxLCBwYXJbTl1bMTldOwppaSByYW5nZVtOXTsKdmVjdG9yPGludD4gY29tcHJlc3M7CmludCBjdXJJZCA9IDA7CmludCBzdFtOIDw8IDJdLCBsYXp5W04gPDwgMl07Cgp2b2lkIHB1c2hEb3duKGludCBpZCkgewogICAgaW50ICZ0ID0gbGF6eVtpZF07CiAgICBpZiAodCkgewogICAgICAgIHN0W2lkIDw8IDFdICs9IHQ7CiAgICAgICAgbGF6eVtpZCA8PCAxXSArPSB0OwogICAgICAgIHN0W2lkIDw8IDEgfCAxXSArPSB0OwogICAgICAgIGxhenlbaWQgPDwgMSB8IDFdICs9IHQ7CiAgICAgICAgdCA9IDA7CiAgICB9Cn0KCnZvaWQgdXBkYXRlKGludCBpZCwgaW50IGwsIGludCByLCBpbnQgdSwgaW50IHYsIGludCBrKSB7CiAgICBpZiAobCA+IHYgfHwgciA8IHUpIHJldHVybjsKICAgIGlmICh1IDw9IGwgJiYgciA8PSB2KSB7CiAgICAgICAgc3RbaWRdICs9IGs7CiAgICAgICAgbGF6eVtpZF0gKz0gazsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBwdXNoRG93bihpZCk7CiAgICBpbnQgbWlkID0gKGwgKyByKSA+PiAxOwogICAgdXBkYXRlKGlkIDw8IDEsIGwsIG1pZCwgdSwgdiwgayk7CiAgICB1cGRhdGUoaWQgPDwgMSB8IDEsIG1pZCArIDEsIHIsIHUsIHYsIGspOwogICAgc3RbaWRdID0gbWF4KHN0W2lkIDw8IDFdLCBzdFtpZCA8PCAxIHwgMV0pOwp9CgppbnQgZ2V0TWF4KGludCBpZCwgaW50IGwsIGludCByLCBpbnQgdSwgaW50IHYpIHsKICAgIGlmIChsID4gdiB8fCByIDwgdSkgcmV0dXJuIDA7CiAgICBpZiAodSA8PSBsICYmIHIgPD0gdikgcmV0dXJuIHN0W2lkXTsKICAgIHB1c2hEb3duKGlkKTsKICAgIGludCBtaWQgPSAobCArIHIpID4+IDE7CiAgICByZXR1cm4gbWF4KGdldE1heChpZCA8PCAxLCBsLCBtaWQsIHUsIHYpLAogICAgICAgICAgICAgICBnZXRNYXgoaWQgPDwgMSB8IDEsIG1pZCArIDEsIHIsIHUsIHYpKTsKfQoKdm9pZCBpbml0KCkgewogICAgY2luID4+IG47CiAgICBGT1IoaSwgMSwgbikgY2luID4+IHJhbmdlW2ldLmZpID4+IHJhbmdlW2ldLnNlLCBjb21wcmVzcy5wYihyYW5nZVtpXS5maSksIGNvbXByZXNzLnBiKHJhbmdlW2ldLnNlKTsKCiAgICBzb3J0KGFsbChjb21wcmVzcykpOwogICAgY29tcHJlc3MucmVzaXplKHVuaXF1ZShhbGwoY29tcHJlc3MpKSAtIGNvbXByZXNzLmJlZ2luKCkpOwoKICAgIEZPUihpLCAxLCBuKSB7CiAgICAgICAgcmFuZ2VbaV0uZmkgPSBsb3dlcl9ib3VuZChhbGwoY29tcHJlc3MpLCByYW5nZVtpXS5maSkgLSBjb21wcmVzcy5iZWdpbigpICsgMTsKICAgICAgICByYW5nZVtpXS5zZSA9IGxvd2VyX2JvdW5kKGFsbChjb21wcmVzcyksIHJhbmdlW2ldLnNlKSAtIGNvbXByZXNzLmJlZ2luKCkgKyAxOwogICAgfQp9Cgp2b2lkIHByZXBhcmUoKSB7CiAgICBpbnQgaiA9IG47CiAgICBtZW1zZXQocGFyLCAweDNmLCBzaXplb2YgcGFyKTsKICAgIEZPUlIoaSwgbiwgMSkgewogICAgICAgIHdoaWxlKGdldE1heCgxLCAxLCBOIC0gNSwgcmFuZ2VbaV0uZmksIHJhbmdlW2ldLnNlKSkgewogICAgICAgICAgICB1cGRhdGUoMSwgMSwgTiAtIDUsIHJhbmdlW2pdLmZpLCByYW5nZVtqXS5zZSwgLTEpOwogICAgICAgICAgICBqLS07CiAgICAgICAgfQogICAgICAgIHVwZGF0ZSgxLCAxLCBOIC0gNSwgcmFuZ2VbaV0uZmksIHJhbmdlW2ldLnNlLCArMSk7CiAgICAgICAgcGFyW2ldWzBdID0gaiArIDE7CiAgICB9CgogICAgRk9SKGosIDEsIDE4KSBGT1IoaSwgMSwgbiArIDEpCiAgICAgICAgaWYgKHBhcltpXVtqIC0gMV0gPD0gbiArIDEpIHBhcltpXVtqXSA9IHBhcltwYXJbaV1baiAtIDFdXVtqIC0gMV07Cn0KCnZvaWQgc29sdmUoKSB7CiAgICBpbml0KCk7CiAgICBwcmVwYXJlKCk7CiAgICBjaW4gPj4gcTsKICAgIHdoaWxlKHEtLSkgewogICAgICAgIGludCBsLCByOwogICAgICAgIGNpbiA+PiBsID4+IHI7CiAgICAgICAgaW50IGFucyA9IDA7CiAgICAgICAgRk9SUihqLCAxOCwgMCkgewogICAgICAgICAgICBpZiAobCA8PSByICYmIHBhcltsXVtqXSAtIDEgPD0gcikgewogICAgICAgICAgICAgICAgYW5zICs9ICgxIDw8IGopOwogICAgICAgICAgICAgICAgbCA9IHBhcltsXVtqXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAobCA8PSByKSBhbnMrKzsKICAgICAgICBjb3V0IDw8IGFucyA8PCAnXG4nOwogICAgfQp9CgppbnQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKICAgIGlmIChmb3Blbih0YXNrIi5pbnAiLCAiciIpKXsKICAgICAgICBmcmVvcGVuKHRhc2siLmlucCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4odGFzayIub3V0IiwgInciLCBzdGRvdXQpOwogICAgfQogICAgaW50IHRjID0gMTsKLy8gICAgIGNpbiA+PiB0YzsKICAgIHdoaWxlKHRjLS0pIHNvbHZlKCk7CiAgICByZXR1cm4gMDsKfQo=