Scanf.scanf "%d" (fun n -> let ab = Array.init n (fun _ -> Scanf.scanf " %d %d" (fun a b -> a, b)) in Scanf.scanf " %d" (fun m -> let hist = Array.make m 0 in for j = 0 to m - 1 do Scanf.scanf " %d %d" (fun x y -> for i = 0 to n - 1 do let a, b = ab.(i) in if x <= a && y >= b then hist.(j) <- hist.(j) + 1 done ) done; let d = Array.fold_left max 0 hist in if d = 0 then print_endline "0" else Array.iteri (fun i v -> if v = d then Printf.printf "%d\n" (i + 1)) hist ) )