【题目描述】
Gioush 大队的营地错综复杂,最初,在 n 个 Gioush 大队营地之间有若干条双向道路连接成一个整体,为了便于交通,暑假期间,Ehundategh 简化了交通系统。经过整改,Gioush 大队在假期期间的交通系统可以视为 n 个节点组成的树,也就是说,他们只留下 n−1 条重要的双向主干道。
现在,有 q 组 Gioush 大队成员想要相聚,每一组成员有 k 人,散布在 Gioush 大队基地中的各个营地中,在假期期间,他们相约一起出去玩,但是还没有定好目的地,于是他们决定按照以下规则选定目的地:
- 记每个人初始在 u1,u2,⋯,uk 这些营地,假定的目的地为 v,记 d(ui,v) 为 ui 到 v 的简单路径的距离。
- 他们希望他们花费时间的和最小,也就是 v 是最小化 ∑i=1kd(ui,v) 的节点 v。
你需要告诉每一组成员,他们相聚的最小总时间为多少,也就是 min{∑i=1kd(ui,v)}。
【输入格式】
从文件 gather.in 中读入数据。
第一行两个正整数 n,q,表示营地数量和成员对数。
接下来 n−1 行,每行三个正整数 u,v,w,表示一条长度为 w 的连接 u,v 两个营地双向道路。
接下来 q 行,每行先给出一个正整数 k,表示该组成员的人数,紧接着在同一行,k 个用空格隔开的整数 u1,u2,⋯,uk,含义同题目描述。
【输出格式】
输出到文件 gather.out 中。
共 q 行,每行一个整数,表示每组成员最小总时间。
【样例 1 输入】
15 221 2 132 3 143 4 151 5 262 4 573 1 2 4
【样例 1 输出】
【说明/提示】
【样例 2】
见选手目录下的 gather/gather2.in 和 gather/gather2.ans。
该组样例符合测试点 9∼12 的数据范围。
【样例 3】
见选手目录下的 gather/gather3.in 和 gather/gather3.ans。
该组样例符合测试点 13∼20 的数据范围。
【数据范围】
对于 100% 的数据,保证:1≤wi≤103,2≤k≤3。