#include typedef struct{ int nedan; int karasa; }mentaiko; typedef struct{ int nedan; int karasa; }member; int main(){ mentaiko taiko[1000]; member buin[10000]; int taiko_cnt[1000] = {0}; int i, j, N, M, max = 0, flag = 0; scanf("%d\n", &N); for(i = 0; i < N; i++){ scanf("%d %d\n", &buin[i].nedan, &buin[i].karasa); } scanf("%d\n", &M); for(i = 0; i < N; i++){ scanf("%d %d\n", &taiko[i].nedan, &taiko[i].karasa); } for(i = 0; i < N; i++){ for(j = 0; j < M; j++){ if(taiko[j].nedan <= buin[i].nedan && taiko[j].karasa >= buin[i].karasa){ taiko_cnt[j]++; flag = 1; } } } for(i = 0; i < M; i++){ if(max <= taiko_cnt[i]){ max = taiko_cnt[i]; } } if(flag != 1){ printf("0\n"); }else{ for(i = 0; i < M; i++){ if(taiko_cnt[i] == max){ printf("%d\n", i + 1); } } } return 0; }