젖소의 항공 노선
면접 대비시간 제한1초메모리 제한256 MB
도시 A 뒤에 도시 B가 등장하는 단일 노선 중 가장 저렴한 요금을 구하고 없으면 -1을 출력합니다.
문제
농장의 추운 겨울에 지친 젖소 베시는 따뜻한 곳으로 휴가를 떠나려 한다. 그런데 소에게 항공권을 팔겠다는 항공사는 Air Bovinia 한 곳뿐이고, 이 항공권의 구조는 조금 특이하다.
Air Bovinia는 비행기 대를 보유하고 있다. 각 비행기는 도시 두 개 이상으로 이루어진 정해진 "노선"을 운항한다. 예를 들어 어떤 비행기는 도시 1에서 출발해 도시 5, 도시 2를 거쳐 마지막으로 도시 8에 도착하는 노선을 운항한다. 한 노선에 같은 도시가 두 번 나오지는 않는다. 베시가 어떤 노선을 이용하기로 하면, 그 노선에 있는 아무 도시에서나 탑승해서 같은 노선의 더 뒤에 있는 아무 도시에서나 내릴 수 있다. 첫 도시에서 탑승할 필요도 없고 마지막 도시에서 내릴 필요도 없다. 각 노선에는 비용이 정해져 있어서, 노선의 일부만 이용해도 지나는 도시 수와 무관하게 그 비용을 전부 내야 한다.
베시는 농장이 있는 도시 에서 목적지인 도시 까지 가는 가장 싼 방법을 찾으려 한다. 여정이 복잡해지는 것은 원하지 않으므로 노선 하나만 사용한다. 베시가 내야 하는 최소 비용을 구하라.
입력
첫째 줄에 , , 이 공백으로 구분되어 주어진다. (, , )
이어지는 개의 줄에 노선 정보가 한 노선당 두 줄씩 주어진다. 각 노선의 첫째 줄에는 그 노선을 이용하는 비용( 이상 이하의 정수)과 노선에 있는 도시의 개수( 이상 이하의 정수)가 주어진다. 둘째 줄에는 그 노선의 도시가 비행 순서대로 주어진다. 각 도시는 이상 이하의 정수로 구분된다.
출력
도시 에서 도시 까지 가는 데 쓸 수 있는 노선 하나의 최소 비용을 출력한다. 그런 노선이 없으면 -1을 출력한다.
참고
노선 두 개를 이어서 쓰면 더 싸게 갈 수 있는 경우에도 베시는 노선 하나만 사용할 수 있다. 따라서 한 노선 안에서 가 보다 앞에 나오는 노선만 후보가 된다.