Un intervalle $[l, r]$ désigne l'ensemble de tous les nombres réels supérieurs ou égaux à $l$ et inférieurs ou égaux à $r$.
On donne $N$ intervalles. Écrivez un programme qui répond à $Q$ requêtes de la forme suivante :
- Pour des valeurs données de $l$ et $r$, est-il possible de choisir un ou plusieurs intervalles parmi ceux donnés de telle sorte que leur intersection soit exactement $[l, r]$ ? Si c'est possible, quel est le nombre minimal d'intervalles à choisir ?
Entrée
La première ligne contient le nombre d'intervalles $N$ ($1 \le N \le 300\,000$).
Les $N$ lignes suivantes contiennent chacune deux entiers $l_i$ et $r_i$ séparés par un espace, représentant l'intervalle $[l_i, r_i]$ ($0 \le l_i < r_i \le 10^6$).
La ligne suivante contient le nombre de requêtes $Q$ ($1 \le Q \le 300\,000$).
Les $Q$ lignes suivantes contiennent chacune deux entiers $l$ et $r$ séparés par un espace, représentant la requête ($0 \le l < r \le 10^6$).
Sortie
Pour chaque requête, affichez sur une ligne le nombre minimal d'intervalles nécessaires pour que leur intersection soit exactement $[l, r]$. Si cela est impossible, affichez $-1$.
Exemples
Entrée 1
3 0 10 2 6 4 8 3 4 6 2 8 1 9
Sortie 1
2 -1 -1