#include using namespace std; int main(){ int n; cin >> n; vector a (n); vector prefa (n+1, 0); unordered_map> ab; unordered_map> pref_ab; // vector b (n); for (int i = 0; i < n; i++) { cin >> a[i]; int b; cin >> b; ab[b].push_back(a[i]); } sort(a.begin(), a.end()); prefa[0] = 0; for (int i = 0; i < n; i++) prefa[i+1] = prefa[i] + a[i]; for (auto x : ab) { sort(x.second.begin(), x.second.end()); pref_ab[x.first].push_back(0); for (int i : x.second){ pref_ab[x.first].push_back(pref_ab[x.first].back() + i); } } int q; cin >> q; vector x (q); vector y (q); for (int i = 0; i < q; i++) { cin >> x[i] >> y[i]; int aptr = upper_bound(a.begin(), a.end(), x[i]) - a.begin(); // int ans = prefa[aptr]; int bptr = upper_bound(ab[y[i]].begin(), ab[y[i]].end(), x[i]) - ab[y[i]].begin(); // ans -= pref_ab[y[i]][bptr]; cout << aptr - bptr << endl; } }