#define _USE_MATH_DEFINES #include //cin, cout #include //vector #include //sort,min,max,count #include //string,getline, to_string #include //abs(int) #include //swap, pair #include //tuple #include //deque #include //INT_MAX #include //bitset #include //sqrt, ceil. M_PI, pow, sin #include //fixed #include //setprecision #include //stringstream #include //gcd, assumlate #include //randam_device #include //numeric_limits #include using namespace std; constexpr long long int D_MOD = 1000000007; int main() { int N; cin >> N; int Amax = 0; int Bmin = INT_MAX; vector A(N), B(N); for (int i = 0; i < N; i++) { cin >> A.at(i) >> B.at(i); if (Amax < A.at(i)) { Amax = A.at(i); } if (Bmin > B.at(i)) { Bmin = B.at(i); } } int M, X, Y; cin >> M; vector C(M, 0); for (int i = 0; i < M; i++) { cin >> X >> Y; if (X > Amax) { continue; } if (Y < Bmin) { continue; } for (int j = 0; j < N; j++) { if (X <= A.at(j) && Y >= B.at(j)) { C.at(i)++; } } } int max = *max_element(C.begin(), C.end()); if (max == 0) { cout << 0 << endl; return 0; } for (int i = 0; i < M; i++) { if (C.at(i) == max) { cout << i + 1 << endl; } } return 0; }