#include #include #include #ifdef LOCAL #include "dbgtoki.hpp" #define DUMP(i) dump((string)TOSTRING(i), demangle(typeid(i).name()), __LINE__ , i) #else #define DUMP(i) #endif using namespace std; #define TOSTRING(x) #x #define SZ(x) (int)(x).size() #define REP(i,n) for(int i=0;i<(n);i++) #define FOR(i,a,b) for(int i=(a);i<(b);i++) #define ALL(s) (s).begin(), (s).end() #define UNIQUE(v) v.erase( unique(v.begin(), v.end()) , v.end()); #define dis distance #define so sort #define rev reverse #define pub push_back #define sec second #define fir first typedef long long unsigned int llu; typedef long long ll; typedef vector vi; typedef vector vll; typedef vector > vvi; const int EPS = 1e-9; const int MOD = 1e9+7; const int INF = (1 << 30); int main(){ cin.tie(0); ios::sync_with_stdio(false); int n,m; cin >> n; vi A(n),B(n); REP(i,n)cin>>A[i]>>B[i]; cin >> m; vi X(m),Y(m); REP(i,m)cin>>X[i]>>Y[i]; vi CNT(m,0),SOCNT(m,0); REP(i,m)REP(j,n)if((X[i]<=A[j])&&(Y[i]>=B[j])){ CNT[i]++; SOCNT[i]++; } so(ALL(SOCNT)); int maxc = SOCNT[m-1]; if(maxc == 0){ cout << 0 << endl; return 0; } vi ANS; REP(i,m){ if(maxc == CNT[i]){ ANS.pub(i); } } REP(i,SZ(ANS)){ cout << ANS[i]+1 << endl; } return 0; }