CF748F.Santa Clauses and a Soccer Championship

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

The country Treeland consists of nn cities connected with n1n-1 bidirectional roads in such a way that it's possible to reach every city starting from any other city using these roads. There will be a soccer championship next year, and all participants are Santa Clauses. There are exactly 2k2k teams from 2k2k different cities.

During the first stage all teams are divided into kk pairs. Teams of each pair play two games against each other: one in the hometown of the first team, and the other in the hometown of the other team. Thus, each of the 2k2k cities holds exactly one soccer game. However, it's not decided yet how to divide teams into pairs.

It's also necessary to choose several cities to settle players in. Organizers tend to use as few cities as possible to settle the teams.

Nobody wants to travel too much during the championship, so if a team plays in cities uu and vv , it wants to live in one of the cities on the shortest path between uu and vv (maybe, in uu or in vv ). There is another constraint also: the teams from one pair must live in the same city.

Summarizing, the organizers want to divide 2k2k teams into pairs and settle them in the minimum possible number of cities mm in such a way that teams from each pair live in the same city which lies between their hometowns.

输入格式

The first line of input contains two integers nn and kk ( 2<=n<=2105,2<=2k<=n2<=n<=2·10^{5},2<=2k<=n ) — the number of cities in Treeland and the number of pairs of teams, respectively.

The following n1n-1 lines describe roads in Treeland: each of these lines contains two integers aa and bb ( 1<=a,b<=n,ab1<=a,b<=n,a≠b ) which mean that there is a road between cities aa and bb . It's guaranteed that there is a path between any two cities.

The last line contains 2k2k distinct integers c1,c2,...,c2kc_{1},c_{2},...,c_{2k} ( 1<=ci<=n1<=c_{i}<=n ), where cic_{i} is the hometown of the ii -th team. All these numbers are distinct.

输出格式

The first line of output must contain the only positive integer mm which should be equal to the minimum possible number of cities the teams can be settled in.

The second line should contain mm distinct numbers d1,d2,...,dmd_{1},d_{2},...,d_{m} ( 1<=di<=n1<=d_{i}<=n ) denoting the indices of the cities where the teams should be settled.

The kk lines should follow, the jj -th of them should contain 33 integers uju_{j} , vjv_{j} and xjx_{j} , where uju_{j} and vjv_{j} are the hometowns of the jj -th pair's teams, and xjx_{j} is the city they should live in during the tournament. Each of the numbers c1,c2,...,c2kc_{1},c_{2},...,c_{2k} should occur in all uju_{j} 's and vjv_{j} 's exactly once. Each of the numbers xjx_{j} should belong to d1,d2,...,dm{d_{1},d_{2},...,d_{m}} .

If there are several possible answers, print any of them.

输入输出样例

  • 输入#1

    6 2
    1 2
    1 3
    2 4
    2 5
    3 6
    2 5 4 6
    

    输出#1

    1
    2
    5 4 2
    6 2 2
    

说明/提示

In the first test the orginizers can settle all the teams in the city number 22 . The way to divide all teams into pairs is not important, since all requirements are satisfied anyway, because the city 22 lies on the shortest path between every two cities from 2,4,5,6{2,4,5,6} .

首页