Ключи и замки
time limit per test
2 seconds
memory limit per test
1024 megabytes
input
standard input
output
standard output

Китнисс находится в очень длинном прямом тоннеле и хочет из него выбраться. Она может передвигаться вдоль тоннеля в обоих направлениях. В тоннеле есть ровно один люк, если добраться до которого, через него будет можно выйти из тоннеля.

К сожалению, не всё так просто. В некоторых $$$n$$$ местах располагаются решётки во всю ширину тоннеля, через которые невозможно пройти. Решётки заперты на замки, и, пока Китнисс не отопрёт замок, она не сможет преодолеть соответствующую решётку. Также в некоторых $$$n$$$ точках вдоль тоннеля располагаются $$$n$$$ ключей. Каждый из $$$n$$$ замков можно отпереть ровно одним из этих $$$n$$$ ключей. После того, как замок вскрыт, Китнисс может свободно и сколько угодно раз проходить через решётку, которая запиралась этим замком. Китнисс может подбирать и носить с собой неограниченное число ключей.

Китнисс известно расположение люка, всех $$$n$$$ решёток с замками, всех $$$n$$$ ключей, ей известно, какой ключ какой замок отпирает, и, разумеется, ей известно, где находится она сама. Определите, преодолев какое наименьшее расстояние, Китнисс сможет выбраться из тоннеля.

Input

Каждый тест содержит несколько наборов входных данных. Первая строка содержит количество наборов входных данных $$$t$$$ ($$$1 \le t \le 5 \cdot 10^4$$$). Далее следует описание наборов входных данных.

Первая строка каждого набора входных данных содержит три целых числа $$$n$$$, $$$s$$$ и $$$h$$$, обозначающие количество замков, координату начального местоположения Китнисс и координату люка ($$$1 \le n \le 2 \cdot 10^5$$$; $$$-10^6 \le s, h \le 10^6$$$). Каждая из следующих $$$n$$$ строк содержит два целых числа $$$k_i$$$, $$$\ell_i$$$ — координату $$$i$$$-го ключа и координату замка, который можно открыть с помощью этого ключа ($$$-10^6 \le k_i, \ell_i \le 10^6$$$). Все $$$2n+2$$$ числа $$$s$$$, $$$h$$$, $$$k_i$$$, $$$\ell_i$$$ попарно различны.

Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превышает $$$2 \cdot 10^5$$$.

Output

Для каждого набора входных данных выведите одно целое число — минимально возможное расстояние, которое потребуется пройти Китнисс, чтобы выбраться из тоннеля. Если выбраться невозможно, выведите $$$-1$$$.

Example

Input
3
5 5 13
3 7
8 14
-1 11
9 1
2 10
4 40 0
20 80
50 30
70 60
90 10
1 -1 6
11 8
Output
32
-1
7