#P3550. 「COI 2020」Pastiri

「COI 2020」Pastiri

Description

„I never felt so full that I couldn’t eat one more lamb.” – Mr. Malnar

A flock of KK sheep lives in a tree, a simple connected graph without a cycle. The tree contains NN nodes denoted with integers from 11 to NN. Each node of a tree is a home to at most one sheep. A wise shepherd realized that, sooner or later, wolves will learn how to climb trees.

In order to protect the sheep, we need to place shepherds into some nodes such that each sheep is protected by at least one shepherd. It is known that each shepherd protects all sheep that are closest to him, and only them. The distance between some sheep and some shepherd is equal to the number of nodes on a unique path between the node containing the sheep and the node containing the shepherd (inclusive). Additionally, the shepherd can share a node with a sheep. Of course, in that case he protects only that sheep.

Determine the minimal number of shepherds that need to placed in the nodes of a tree such that each sheep is protected by at least one shepherd. Additionally, determine one such arrangement of shepherds.

Input

The first line contains integers NN and KK (1KN1 ≤ K ≤ N) from the task description.

Each of the next N1N − 1 lines contains two integers aia_i and bib_i (1ai,biN1 ≤ a_i, b_i ≤ N) which indicate that there is an undirected edge between nodes aia_i and bib_i.

The next line contains KK different integers oio_i (1oiN1 ≤ o_i ≤ N) that represent nodes which containing a sheep.

Output

In the first line you should output a number XX which represents the minimal number of shepherds from the task description.

In the second line you should output XX space-separated integers which represent the nodes containing shepherds.

If there are multiple correct solutions, you may output any of them.

4 2
1 2
2 3
3 4
1 4
2
1 3
9 5
1 2
2 3
3 4
3 5
1 6
1 7
7 8
8 9
2 5 6 7 9
3
1 4 9
20 9
1 2
2 3
2 4
4 5
4 6
5 7
7 8
8 9
7 10
10 11
6 12
6 13
6 17
13 14
14 15
14 16
17 18
18 19
18 20
1 3 9 11 12 15 16 19 20
3
5 14 18

Scoring

Subtask Score Constraints
11 88 1N500 0001 ≤ N ≤ 500\ 000, every node x=1,...,n1x = 1, . . . , n − 1 is connected with node x+1x + 1
22 1818 1K151 ≤ K ≤ 15, 1N500 0001 ≤ N ≤ 500\ 000
33 2323 1N2 0001 \le N \le 2\ 000
44 5151 1N500 0001 \le N \le 500\ 000