교육 악몽
시간 제한10초메모리 제한512 MB
방이 트리 구조로 연결된 건물에서 방 m에 들어가면 교실 위치를 알 수 있을 때, 시작 방 s에서 교실을 찾는 최악의 경우 최소 시간을 구합니다.
문제
당신은 악몽을 꾸고 있습니다. 꿈속에서 당신은 교육 과정을 마치고 이제 다른 사람들을 가르치기 시작합니다. 오늘이 첫날입니다! 학교 건물에 (조금 늦게) 들어섰는데, 당연히 강의실이 몇 번 방인지 잊어버렸습니다.
건물에는 개의 방이 있으며 번호는 입니다. 일부 방 쌍은 통로로 연결되어 있습니다. 연결된 방 사이는 오갈 수 있으며, 한 번 이동할 때마다 정확히 1초가 걸립니다. 통로는 정확히 개이고, 충분한 시간이 주어지면 모든 방에 도달할 수 있습니다. 즉, 방과 통로는 트리를 이룹니다.
당신은 방 에서 출발합니다. 올바른 방에 들어가면 바로 알아보고 탐색을 끝냅니다. 그래도 모든 방을 뒤지면 시간이 아주 오래 걸릴 수 있습니다. 다행히 방법이 하나 더 있습니다. 방 에는 모든 수업의 전체 시간표가 있습니다. 방 에 들어가면 수업이 어느 방에 있는지 즉시 알게 되고, 가장 짧은 경로로 곧바로 그곳에 갈 수 있습니다. 다만 방 에서는 인쇄, 팩스, 스캔, 복사 서비스를 제공하지 않으니 그런 것은 요청하지 마십시오.
최악의 경우에도 수업 방을 찾을 수 있도록 보장하는 전략에서, 필요한 최소 시간 를 구하십시오. 즉, 어떤 전략이 초 안에 올바른 방을 찾는다고 보장하는 최소의 입니다.
입력
첫 줄에는 테스트 케이스의 개수 가 주어집니다 (). 각 테스트 케이스의 첫 줄에는 정수 세 개 , , 이 주어집니다 (, ). 이어서 개의 줄이 주어지며, 각 줄에는 정수 가 주어집니다 (, ). 이는 방 와 방 를 잇는 통로를 뜻합니다. 모든 방은 서로에게 도달할 수 있도록 보장됩니다.
수업은 방 에 있을 수도 있고 방 에 있을 수도 있습니다. 시작 방이 인 경우도 있습니다.
모든 테스트 케이스의 방 개수 합은 을 넘지 않습니다.
출력
각 테스트 케이스마다, 최선의 전략을 썼을 때 수업 교실에 도달하는 데 걸리는 총 시간(초)을 정수 하나로 출력합니다.