Вчера Рада нашла портал, который может перемещать её в Ромашковую долину и обратно. Счастью Рады не было предела, но длилось оно недолго — она вдруг поняла, что не знает, где и когда будет кто-либо из Смешариков.
Ромашковая долина состоит из $$$n$$$ домиков и $$$m$$$ тропинок, соединяющих домики. Тропинки пронумерованы от $$$1$$$ до $$$m$$$. По тропинкам можно идти в обе стороны. Известно, что из любого домика можно дойти по тропинкам до любого другого домика, а также нет тропинки, соединяющей домик сам с собой. Ко всему прочему, любые два домика соединены не более чем одной тропинкой.
Рада знает, что Смешарики каждый день ходят из домика с номером $$$1$$$ в домик с номером $$$n$$$, но она не знает, по каким конкретно тропинкам они пойдут. Рада побывает в Ромашковой долине в каждый из следующих $$$q$$$ дней. В $$$k$$$-й день она будет находиться около домика с номером $$$c_k$$$.
Так как Рада не знает, по каким конкретно тропинкам будут идти Смешарики, её интересуют только те тропинки, по которым гарантированно пройдут Смешарики. Чтобы точно не пропустить кого-то из них, она хочет узнать номер ближайшей такой тропинки в каждый из дней. Рада слишком занята прогулками по Ромашковой долине, и поэтому она просит вас помочь ей определить номера требуемых тропинок.
Расстоянием от домика $$$c$$$ до тропинки, соединяющей домики $$$a$$$ и $$$b$$$, назовём минимальное из $$$\rho(a, c)$$$ и $$$\rho(b, c)$$$, где $$$\rho(a, b)$$$ — минимальное количество тропинок, по которым надо пройти, чтобы попасть в домик с номером $$$b$$$, начиная из домика с номером $$$a$$$.
В первой строке входных данных содержится целое число $$$t$$$ ($$$1 \leq t \leq 10^4$$$) — количество наборов входных данных. Далее следует описание каждого из них.
Первая строка содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \leq n \leq 2 \cdot 10^5$$$, $$$n-1 \leq m \leq \min(\frac{n \cdot (n-1)}{2}, 2 \cdot 10^5)$$$) — количество домиков и тропинок соответственно.
Следующие $$$m$$$ строк содержат по два целых числа $$$u \neq v$$$ ($$$1 \leq u, v \leq n$$$) — тропинка, соединяющая домики с номерами $$$u$$$ и $$$v$$$. Тропинки вводятся в порядке нумерации, то есть сначала идёт описание первой тропинки, второй, третьей и так далее до $$$m$$$-й включительно.
Далее вводится целое число $$$q$$$ ($$$1 \leq q \leq 2 \cdot 10^5$$$) — количество дней, в которые Рада будет гулять по Ромашковой долине.
Следующие $$$q$$$ строк содержат одно целое число $$$c$$$ ($$$1 \leq c \leq n$$$) — домик, около которого Рада находится в этот день.
Гарантируется, что из любого домика можно попасть в любой другой, переходя только по тропинкам, а также, что нет тропинки из домика в самого себя и любые два домика соединены не более чем одной тропинкой.
Гарантируется, что сумма $$$n$$$ по всем наборам данных не превосходит $$$2 \cdot 10^5$$$, сумма $$$m$$$ по всем наборам данных не превосходит $$$2 \cdot 10^5$$$ и сумма $$$q$$$ по всем наборам данных не превосходит $$$2 \cdot 10^5$$$.
Для каждого набора входных выведите ответ для каждого из дней. Если в какой-то из дней есть несколько подходящих тропинок, то выведите тропинку с минимальным номером среди подходящих. Если требуемых тропинок нет, то выведите $$$-1$$$.
33 31 22 33 1115 41 22 33 44 531237 61 21 52 33 45 76 771234567
-1 1 1 2 2 2 2 2 2 5 5
25 44 24 15 13 55123456 61 22 33 44 55 25 6234
3 3 3 3 3 1 6
Во всех дальнейших объяснениях обозначим переход из домика $$$a$$$ в домик $$$b$$$ по тропинке с номером $$$c$$$, как $$$a \xrightarrow{c} b$$$.
В первом наборе входных данных из домика $$$1$$$ в домик $$$3$$$ можно попасть, как минимум, следующими путями:
$$$$$$1 \xrightarrow{3} 3$$$$$$
$$$$$$1 \xrightarrow{1} 2 \xrightarrow{2} 3$$$$$$
Как видим, эти два пути не имеют общих тропинок, а значит, требуемых тропинок нет.
Во втором наборе входных данных можно заметить, что существует единственный путь из $$$1$$$ в $$$n$$$.
$$$$$$1 \xrightarrow{1} 2 \xrightarrow{2} 3 \xrightarrow{3} 4 \xrightarrow{4} 5$$$$$$
Как видно, ответом для $$$v$$$-й вершины является $$$\max(v-1,\ 1)$$$.