Problem description


Domki
(domki)
Memory limit: 32 MB
Time limit: 10.00 s

Bajtocja to piękne państwo składające się z N miast, połączonych siecią M dwukierunkowych dróg o jednostkowej długości. Jest to jednocześnie kraj dość dziwny, ponieważ nie w każdym mieście znajduje się choćby jeden dom. Tak naprawdę, domów jest w sumie dość mało, a są od siebie bardzo oddalone.

Napisz program, który: wczyta opis dróg w Bajtocji i numery miast, w których znajdują się domy, wyznaczy dwa najmniej odległe od siebie domy i wypisze wynik na standardowe wyjście.

Wejście

W pierwszym wierszu wejścia znajduje się jedna liczba naturalna Q, określająca liczbę zestawów danych. W kolejnych wierszach znajdują się kolejne zestawy danych.

W pierwszym wierszu opisu zestawu danych znajdują się dwie liczby naturalne N i M, oddzielone pojedynczym odstępem i określające kolejno: liczbę miast i liczbę dróg między nimi. W kolejnych M wierszach znajdują się opisy dróg. Opis każdej drogi składa się z dwóch liczb naturalnych u i v, oddzielonych pojedynczym odstępem. Są to numery miast połączonych drogą. W kolejnym wierszu znajduje się jedna liczba naturalna D, określająca liczbę domów. W ostatnim wierszu wejścia znajduje się ciąg D liczb naturalnych Ai, pooddzielanych pojedynczymi odstępami. Są to numery miast, w których znajdują się domy.

Miasta numerowane są kolejnymi liczbami naturalnymi od 1 do N.

Wyjście

Twój program powinien wypisać na wyjście dla kolejnych zestawów danych dokładnie jedną liczbę całkowitą – minimalną odległość dwóch różnych domów. Jeśli takowa nie istnieje, odpowiedzią jest jedno słowo NIE.

Ograniczenia

1 ≤ Q ≤ 10, 1 ≤ D ≤ N ≤ 200 000, 1 ≤ M ≤ 200 000.

Przykład

Input Output
1
6 6
1 2
2 3
1 3
3 4
4 5
5 6
3
1 4 6
2