use std::io::Read; fn main() { let mut s = String::new(); std::io::stdin().read_to_string(&mut s).ok(); let s: Vec<_> = s.lines().collect(); let n: usize = s[0].parse().unwrap(); let p: Vec<_> = s[1..=n] .iter() .map(|s| { let n: Vec = s.split_whitespace().flat_map(str::parse).collect(); (n[0], n[1]) }) .collect(); let q: Vec<_> = s[n + 2..] .iter() .map(|s| { let n: Vec = s.split_whitespace().flat_map(str::parse).collect(); p.iter().filter(|(a, b)| n[0] <= *a && *b <= n[1]).count() }) .collect(); let a = *q.iter().max().unwrap(); if a == 0 { println!("0"); return; } q.iter().enumerate().for_each(|x| { if *x.1 == a { println!("{}", x.0 + 1) } }) }