You are given a simple connected undirected graph G with N vertices and M edges.
The vertices of G are numbered vertex 1, vertex 2, ..., vertex N, and the i-th (1≤i≤M) edge connects vertices Ui and Vi.
Find the lexicographically smallest simple path from vertex X to vertex Y in G.
That is, find the lexicographically smallest among the integer sequences P=(P1,P2,...,P∣P∣) that satisfy the following conditions:
1≤Pi≤N
If ij, then PiPj.
P1=X and
For 1≤i≤∣P∣−1, there exists an edge connecting vertices Pi and Pi+1.
One can prove that such a path always exists under the constraints of this problem.
You are given T test cases, so find the answer for each.
Lexicographic order on integer sequencesAn integer sequence S=(S1,S2,...,S∣S∣) is lexicographically smaller than an integer sequence T=(T1,T2,...,T∣T∣) if either of the following 1. or 2. holds. Here, ∣S∣ and ∣T∣ represent the lengths of S and T, respectively.
∣S∣<∣T∣ and (S1,S2,...,S∣S∣)=(T1,T2,...,T∣S∣).
There exists some 1≤i≤min(∣S∣,∣T∣) such that (S1,S2,...,Si−1)=(T1,T2,...,Ti−1) and Si<Ti.
Constraints
1≤T≤500
2≤N≤1000
N−1≤M≤min(2N(N−1),5×104)
1≤X,Y≤N
XY
1≤Ui<Vi≤N
If ij, then (Ui,Vi)(Uj,Vj).
The given graph is connected.
The sum of N over all test cases in each input is at most 1000.
The sum of M over all test cases in each input is at most 5×104.
All input values are integers.
Input
The input is given from Standard Input in the following format:
T
case1
case2
⋮
caseT
casei represents the i-th test case. Each test case is given in the following format:
N M X Y
U1 V1
U2 V2
⋮
UM VM
Output
Output T lines.
The i-th line (1≤i≤T) should contain the vertex numbers on the simple path that is the answer to the i-th test case, in order, separated by spaces.
That is, when the answer to the i-th test case is P=(P1,P2,...,P∣P∣), output P1, P2, ..., P∣P∣ on the i-th line in this order, separated by spaces.
Sample Input 1
2
6 10 3 5
1 2
1 3
1 5
1 6
2 4
2 5
2 6
3 4
3 5
5 6
3 2 3 2
1 3
2 3
Sample Output 1
3 1 2 5
3 2
For the first test case, graph G is as follows:
The simple paths from vertex 3 to vertex 5 on G, listed in lexicographic order, are as follows:
(3,1,2,5)
(3,1,2,6,5)
(3,1,5)
(3,1,6,2,5)
(3,1,6,5)
(3,4,2,1,5)
(3,4,2,1,6,5)
(3,4,2,5)
(3,4,2,6,1,5)
(3,4,2,6,5)
(3,5)
Among these, the lexicographically smallest is (3,1,2,5), so output 3,1,2,5 separated by spaces on the first line.
For the second test case, (3,2) is the only simple path from vertex 3 to vertex 2.