Khu phố mà ~L~ đang sống gồm ~n~ ngôi nhà và ~m~ tuyến đường hai chiều nối giữa các ngôi nhà với nhau. Nhà ~L~ là ngôi nhà số ~1~, nhà bạn gái ~L~ là ngôi nhà số ~n~. Mỗi ngày ~L~ đều đi từ nhà mình sang nhà bạn gái, còn để làm gì thì tác giả không biết :)).
~H~ vốn đã ghét ~L~ nên trong ~q~ ngày tới ~H~ quyết định sẽ chặn đánh ~L~ ở một tuyến đường nào đó. Nhưng ~H~ không biết ~L~ sẽ đi qua tuyến đường nào vì ~L~ bị thiểu năng nên chưa chắt sẽ đi đường ngắn nhất :)). Vào ngày thứ ~k (1 \le k \le q)~ ~H~ sẽ ở tại ngôi nhà ~c_k~ và sẽ đến một tuyến đường nào đó mà ~L~ chắc chắn phải đi qua để INNOVA ~L~.
Để tiết kiệm thời gian ~H~ sẽ chọn một tuyến đường mà có khoảng cách đến ngôi nhà mà ~H~ đang ở là ngắn nhất. ~H~ định nghĩa khoảng cách từ ngôi nhà ~c~ đến một tuyến đường nối từ ngôi nhà ~a~ đến ngôi nhà ~b~ là ~min(dist(a, c), dist(b, c))~. Với ~dist(a, b)~ là khoảng cách ngắn nhất từ ~a~ đến ~b~.
Yêu cầu
Hãy giúp ~H~ tìm chỉ số của tuyến đường đến khoảng cách từ ngôi nhà mà ~H~ đang ở là ngắn nhất. Nếu có nhiều tuyến đường có khoảng cách bằng nhau hãy tìm chỉ số nhỏ nhất.
Dữ liệu vào
Gồm các dòng:
- Dòng đầu tiên là hai số nguyên ~n, m(1 \le n, m \le 10^5)~ là số ngôi và số tuyến đường.
- ~m~ dòng tiếp theo mỗi dòng chứa hai số nguyên dương ~u, v(1 \le u, v \le n)~ thể hiện có đường nối từ ngôi nhà ~u~ đến ngôi nhà ~v~.
- Dòng tiếp theo là số nguyên ~q(1 \le q \le 10^5)~ là số ngày trong dự định của ~H~.
- ~q~ dòng cuối cùng mỗi dòng chứa số nguyên dương ~c(1 \le c \le n)~ là chỉ số nhà mà ~H~ đang ở.
Kết quả
Gồm ~q~ dòng mỗi dòng là chỉ số tuyến đường mà ~H~ sẽ đến. Nếu không tìm thấy thì in ra ~-1~.
Sample input 1
3 3
1 2
2 3
3 1
1
1
Sample output 1
-1
Sample input 2
7 6
1 2
1 5
2 3
3 4
5 7
6 7
7
1
2
3
4
5
6
7
Sample output 2
2 2 2 2 2 5 5
Bình luận