Дана бесконечная координатная ось. На ней отмечено 2n+2 различных точек. Во-первых, это n пар точек K_i это ключи), M_i (это замки); во-вторых, это точки S и F. В точке S изначально сидит Светлана, она хочет дойти до F. Она умеет перемещаться со скоростью 1 вдоль координатной оси; если она находится в одной точке с ключом, она может за одну секунду его подобрать. С замками сложнее: Светлана не может пройти через точку, в которой находится закрытый замок, а изначально все замки закрыты. Чтобы открыть замок M_i, Светлана должна сначала должна подобрать ключ K_i, потом дойти до точки M_i и потратить одну секунду на вскрытие замка; после этого замок навсегда будет открыт, и через него можно проходить мгновенно в обе стороны. Требуется вывести -1, если до F невозможно добраться, либо вывести минимальное время, за которое можно дойти до F (можно и попросить восстановить ответ, благо чекер не очень трудный). Это надо сделать за O(n log n).