Под отрезком $[l, r]$ понимается множество всех вещественных чисел от $l$ до $r$ включительно.
Дано $N$ отрезков. Напишите программу, которая отвечает на $Q$ запросов следующего вида:
- Для заданных $l$ и $r$ можно ли выбрать один или несколько отрезков так, чтобы их пересечение было в точности равно $[l, r]$? Если это возможно, какое минимальное количество отрезков необходимо выбрать?
Входные данные
В первой строке задано количество отрезков $N$ ($1 \le N \le 300\,000$). В следующих $N$ строках содержатся целые числа $l_i$ и $r_i$, разделенные пробелом, которые задают отрезки $[l_i, r_i]$ ($0 \le l_i < r_i \le 10^6$). В следующей строке задано количество запросов $Q$ ($1 \le Q \le 300\,000$). В следующих $Q$ строках содержатся два целых числа $l$ и $r$, разделенные пробелом, которые задают запрос ($0 \le l < r \le 10^6$).
Выходные данные
Для каждого запроса выведите на отдельной строке минимальное количество отрезков, необходимых для получения пересечения, равного в точности $[l, r]$. Если получить такое пересечение невозможно, выведите $-1$.
Примеры
Входные данные 1
3 0 10 2 6 4 8 3 4 6 2 8 1 9
Выходные данные 1
2 -1 -1