题号:NC293219
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld
题目描述
给你一棵有

个节点的树

和一个大小为

的节点编号不重集合

,定义一个树

上的边集

是好的当且仅当
在树上删掉所有在
中的边后集合
内的任意不同两点不连通。
请你求出一个边集

,满足

中边的数量在所有好的

中最小,特别地,当存在多个符合条件的

时,可以输出任意一个。
【树】
树是指这样的一张图,其由

个节点和

条边构成,其上的任意两个点都连通,且不存在环。
输入描述:
第一行输入两个正整数
)
。
此后

行,第

行输入两个整数

和
)
表示树上第

条边连接节点

和

。保证树连通。
后面有一行

个整数,表示集合

中的节点编号。
输出描述:
第一行有一个非负整数

,表示集合

内的元素数量。
示例1
输入
复制
5 3
1 2
2 3
3 4
4 5
1 3 5
示例3
说明
可以为空