총깡 총깡

진서의 집에서 다익스트라를 돌려 가장 가까운 A형과 B형 집을 찾고, 더 가까운 쪽을 출력한다. 거리가 같으면 A형이다.

보통4최단 경로그래프동적 계획법면접 대비아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

동물 애호가 진서는 총깡총깡 뛰는 동물과 짝폴짝폴 뛰는 동물을 각각 KK마리씩 키운다. 다른 지역에 취업한 진서는 내일 이사를 한다.

새 집에서 함께 살 룸메이트 일호가 동물을 싫어해서, 진서는 근처의 집에 동물을 한 마리씩 맡기려고 한다.

진서가 동물을 맡길 수 있는 집은 A형 집과 B형 집의 두 종류다.

우연히도 총깡총깡 뛰는 동물, 짝폴짝폴 뛰는 동물, A형 집, B형 집의 수는 모두 KK로 같다.

진서는 같은 종류의 동물은 같은 종류의 집에 맡기려고 한다. 즉 총깡총깡 뛰는 동물을 모두 A형 집에 맡기고 짝폴짝폴 뛰는 동물을 모두 B형 집에 맡기거나, 그 반대로 맡긴다.

진서는 총깡총깡 뛰는 동물을 조금 더 좋아한다. 그래서 모든 동물이 각자의 집에서 동시에 출발해 도로를 따라 진서의 집으로 올 때, 가장 먼저 도착하는 동물이 총깡총깡 뛰는 동물이기를 바란다. 동물은 모두 같은 속도로 움직이므로, 진서의 집까지 최단 거리가 가장 짧은 집에 사는 동물이 가장 먼저 도착한다.

진서가 살 집, A형 집, B형 집, 그리고 어느 종류도 아닌 집이 있는 지도가 주어진다. 총깡총깡 뛰는 동물이 A형 집과 B형 집 중 어디에 살아야 하는지 구하고, 가장 먼저 도착하는 총깡총깡 뛰는 동물이 사는 집과 진서의 집 사이의 최단 거리를 구하라.

진서의 집에서 가장 가까운 A형 집까지의 최단 거리와 가장 가까운 B형 집까지의 최단 거리가 같으면 총깡총깡 뛰는 동물은 A형 집에 산다.

입력

첫째 줄에 전체 집의 수 NN과 집과 집을 잇는 도로의 수 MM이 공백으로 구분되어 주어진다. (3N50003 \le N \le 5\,000, 3M200003 \le M \le 20\,000) 집에는 11번부터 NN번까지 번호가 붙어 있다.

둘째 줄에 진서의 집 번호 JJ가 주어진다. (1JN1 \le J \le N)

셋째 줄에 동물 종류별 마릿수 KK가 주어진다. (1K1 \le K, 2KN2K \le N)

넷째 줄에 A형 집 KK개의 번호가 공백으로 구분되어 주어진다.

다섯째 줄에 B형 집 KK개의 번호가 공백으로 구분되어 주어진다. A형 집과 B형 집은 서로 겹치지 않는다.

다음 MM개의 줄에는 각각 세 정수 XX, YY, ZZ가 주어진다. (1X,YN1 \le X, Y \le N, 1Z1001 \le Z \le 100) 이는 XX번 집과 YY번 집을 잇는 길이 ZZ인 양방향 도로가 있다는 뜻이다.

출력

진서의 집에서 도달할 수 있는 A형 집이나 B형 집이 하나라도 있으면, 첫째 줄에 총깡총깡 뛰는 동물이 살 집의 종류(A 또는 B)를 출력하고 둘째 줄에 그 종류의 집 중 진서의 집에서 가장 가까운 집까지의 최단 거리를 출력한다.

A형 집에만 도달할 수 있으면 A를, B형 집에만 도달할 수 있으면 B를 출력하고 다음 줄에 거리를 출력한다. A형 집과 B형 집 모두 진서의 집에서 도달할 수 없으면 -1만 한 줄에 출력한다.