HH 왕국
시간 제한10초메모리 제한512 MB
트리에서 여러 정점 집합이 주어질 때, 각 집합의 모든 두 정점 사이 거리의 합의 두 배를 구한다.
문제
HH는 경쟁 프로그래밍 최강국이다. HH에는 1번부터 번까지 번호가 붙은 도시가 있고, 도시 사이는 도로로 이어져 있다. 서로 다른 두 도시를 잇는 경로는 언제나 정확히 하나뿐이다. 즉 HH의 도시와 도로는 트리를 이룬다.
HH는 미래 기반 시설 개발 사업의 예산을 나누려고 대회를 연다. 대회는 개의 라운드로 이루어지고, 번째 라운드가 번째 예산의 배분을 정한다. 배분은 그 예산에 걸린 도시 개가 벌이는 더블 라운드 로빈의 결과로 정해진다. 서로 다른 두 참가 도시 A와 B에 대해 A가 B로 원정하는 경기와 B가 A로 원정하는 경기가 각각 한 번씩 열린다. 그래서 한 라운드에서 열리는 경기는 모두 번이다.
출장비를 정확히 정산하려면 라운드마다 참가 도시 사이의 총 이동 거리를 알아야 한다. 한 경기의 이동 거리는 원정 팀이 출발한 도시에서 경기가 열리는 도시까지 이어지는 유일한 경로에 놓인 도로의 수이다. 라운드마다 그 라운드에서 열리는 모든 경기의 이동 거리를 합한 값을 구하여라.
입력
첫 줄에 테스트 케이스의 수 가 주어진다.
각 테스트 케이스의 첫 줄에는 도시의 수 과 라운드의 수 이 주어진다. 이어지는 개의 줄에는 각각 두 정수 와 가 주어지며, 도시 와 도시 를 잇는 도로가 있다는 뜻이다. 이어지는 개의 줄에는 각각 번째 라운드의 참가 도시 수 가 먼저 주어지고, 같은 줄에 참가 도시의 번호 가 주어진다.
- 한 라운드 안에서 는 모두 서로 다르다.
- 한 테스트 케이스에서 이다.
- 입력 파일의 크기는 60MB를 넘지 않는다.
출력
각 라운드마다 그 라운드의 총 이동 거리를 한 줄에 하나씩, 입력에 주어진 순서대로 출력한다.