범죄가 발생하면 경찰의 긴급 출동 차량이 최대한 빨리 범죄 현장에 도착하는 것이 매우 중요합니다. 그래야 증거를 최대한 확보하고, 피해자를 구하며, 어쩌면 범인까지 검거할 수 있습니다. 이를 위해서는 교통 정체 등을 피하려고 여러 곳에서 동시에 출동 차량을 보내는 것이 유용할 때가 많습니다. 이 문제에서는 여러 대의 차량 중 가장 먼저 범죄 현장에 도착하는 차량이 언제 도착하는지 계산하는 프로그램을 작성합니다.
도시는 $n$개의 교차로와 $m$개의 도로로 표현됩니다. 각 도로에 대해 시작 교차로 $i$, 끝 교차로 $j$, 이동 시간 $t(i,j) \ge 0$ 이 주어집니다. 어떤 쌍 $(i,j)$ 가 목록에 나타나지 않으면 $i$에서 $j$로 가는 직접 도로가 없다는 뜻입니다. 도로에는 방향이 있으므로 $i$에서 $j$로 가는 시간이 $j$에서 $i$로 가는 시간과 다를 수 있습니다(일방통행이거나 방향에 따라 교통 상황이 다를 수 있기 때문입니다). 또한 모든 차량의 출발 교차로와 목적지(범죄 현장) 교차로가 각각 교차로 번호로 주어집니다.
첫 번째 줄에 세 정수 $n, m, s$ 가 주어집니다. $n \le 1000$ 은 교차로의 수, $m \le 10000$ 은 도로의 수, $s$ 는 이어지는 시나리오의 수입니다. 이어서 $m$개의 줄에 각 도로가 주어지며, 각 줄에는 시작 교차로 $i$, 끝 교차로 $j$, 이동 시간 $t(i,j) \ge 0$(실수)이 공백으로 구분되어 주어집니다.
그다음 $s$개의 시나리오가 주어집니다. 각 시나리오의 첫 번째 줄에는 두 정수 $c, k$ 가 주어집니다. $c$ 는 범죄가 발생한 교차로 번호, $k$ 는 출동한 차량의 수입니다. 다음 줄에는 $k$개의 정수가 공백 하나로 구분되어 주어지며, 각각 $k$대의 차량이 출발한 교차로 번호입니다.
각 시나리오마다 먼저 "Scenario x:" 를 한 줄에 출력합니다. 여기서 $x$ 는 시나리오 번호(1부터 시작)입니다. 다음 줄에는 어떤 차량이든 범죄 현장 $c$ 에 가장 먼저 도착하는 시각을 소수점 아래 둘째 자리까지 반올림한 실수로 출력합니다. 어떤 차량도 목적지 교차로에 도달할 수 없으면 대신 "Impossible." 을 출력합니다. 연속한 두 시나리오 사이는 빈 줄 하나로 구분합니다.