#include #include #ifdef LOCAL #include #define debug(...) debug_print::multi_print(#__VA_ARGS__, __VA_ARGS__) #else #define debug(...) (static_cast(0)) #endif using namespace atcoder; using mint=modint1000000007; using namespace std; using ll=long long; using ul=unsigned long long; int dx[8] = {1, 0, -1, 0, -1, -1, 1, 1}; int dy[8] = {0, 1, 0, -1, -1, 1, -1, 1}; using Graph=vector>; using S = long long; using F = long long; const S INF = 8e18; const F ID=8e18; S op(S a, S b){ return std::max(a, b); } S e(){ return 0; } S mapping(F f, S x){ return (f==ID?x:f); } F composition(F f, F g){ return (f==ID?g:f); } F id(){ return ID; } int main(){ int N; cin>>N; map>mp; vectorall; for(int i=0;i>a>>b; mp[b].push_back(a); all.push_back(a); } sort(all.begin(),all.end()); for(auto[k,v]:mp)sort(v.begin(),v.end()); int Q; cin>>Q; while(Q--){ int x,y; cin>>x>>y; ll t=upper_bound(all.begin(),all.end(),x)-all.begin(); ll u=upper_bound(mp[y].begin(),mp[y].end(),x)-mp[y].begin(); cout<