첫째 줄에 정점의 개수 n과 간선의 개수 m이 주어진다. (2≤n≤5000, 1≤m≤100000)
다음 m개 줄에 각각 a, b, c가 주어진다. 정점 a와 정점 b를 잇는 간선의 길이가 c라는 뜻이다. (1≤a,b≤n, 1≤c≤10000) 같은 두 정점을 잇는 간선이 여러 개일 수 있고, a와 b가 같은 간선도 있을 수 있다. 간선에는 방향이 없다.
다음 줄에 집 후보의 개수 p와 편의점의 개수 q가 주어진다. (1≤p, 1≤q, 2≤p+q≤n)
다음 줄에 집 후보의 정점 번호가 p개, 그다음 줄에 편의점의 정점 번호가 q개 주어진다. 한 줄 안에서 같은 번호는 두 번 나오지 않고, 집 후보와 편의점은 서로 겹치지 않는다.
어떤 편의점에도 도달하지 못하는 집 후보가 있을 수 있다. 그런 후보는 고르지 않는다. 편의점에 도달할 수 있는 집 후보는 적어도 하나 있다.