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 mut q = vec![0]; q.extend(s[n + 2..].iter().flat_map(|s| { let n: Vec = s.split_whitespace().flat_map(str::parse).collect(); let c = p.iter().filter(|(a, b)| n[0] <= *a && *b <= n[1]).count(); if c > 0 { Some(c) } else { None } })); q.iter().enumerate().for_each(|x| { if x.1 == q.iter().max().unwrap() { println!("{}", x.0) } }) }