길을 잃었을까? (라지)

구간 길이 간선을 가진 그래프에서 주어진 경로를 순서대로 검사해 1번 도시에서 2번 도시까지의 최단 경로에 속할 수 없는 첫 간선을 찾습니다.

보통7최단 경로그리디아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

무료 셔틀 회사가 도시를 잇는 일방통행 노선 MM개를 운행한다. 각 노선이 어느 도시에서 출발해 어느 도시로 가는지는 알지만 길이는 정확히 모른다. ii번 노선의 길이는 aia_i 이상 bib_i 이하의 정수 하나로 정해져 있다.

나는 1번 도시에서 2번 도시로 가려고 탈 노선을 순서대로 적어 두었다. 내 길찾기 실력이 미덥지 않으니 이 경로를 검사해 달라.

경로의 노선을 앞에서부터 하나씩 본다. 앞의 노선은 모두 내가 적은 대로 탔다고 하자. 모든 노선의 길이를 각자의 범위 안에서 정하고 지금 노선의 도착 도시에서 2번 도시까지 이어 갈 방법을 골라서, 내가 지금까지 탄 구간을 1번 도시에서 2번 도시로 가는 최단 경로의 앞부분으로 만들 수 있으면 이 노선은 괜찮다. 괜찮지 않은 첫 노선의 번호를 구하라.

예를 들어 노선이 다음 다섯 개라고 하자.

번호출발 도시도착 도시길이
1마운틴뷰런던100 이상 1000 이하
2마운틴뷰파리500 이상 5000 이하
3파리런던400 이상 600 이하
4파리모스크바500 이상 5000 이하
5모스크바런던1 이상 10000 이하

내가 적은 경로가 마운틴뷰, 파리, 모스크바, 런던, 즉 2번, 4번, 5번 노선이라고 하자. 2번 노선은 괜찮다. 2번 노선이 500이고 3번 노선이 400이면 마운틴뷰에서 파리를 거쳐 런던까지가 900인데 마운틴뷰에서 런던으로 바로 가는 노선은 길어야 1000이므로, 최단 경로가 2번 노선으로 시작한다. 4번 노선은 괜찮지 않다. 파리를 지난 뒤에도 런던까지 가야 하는데 마운틴뷰, 파리, 모스크바, 런던은 짧아야 1001이고 1번 노선은 길어야 1000이기 때문이다. 그래서 답은 4번이다.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다. 각 테스트 케이스의 첫 줄에는 양의 정수 NN, MM, PP가 주어진다. NN은 도시의 수이고 도시에는 1번부터 NN번까지 번호가 붙는다. MM은 노선의 수이고, PP는 내가 적어 둔 경로에 들어 있는 노선의 수다.

다음 MM개 줄에는 각각 정수 uiu_i, viv_i, aia_i, bib_i가 주어진다. uiu_i번 도시에서 viv_i번 도시로 가는 일방통행 노선이 있고 그 길이는 aia_i 이상 bib_i 이하의 정수다. 노선에는 입력에 나온 순서대로 1번부터 MM번까지 번호가 붙는다.

마지막 줄에는 1 이상 MM 이하의 서로 다른 정수 PP개가 주어진다. 내가 타는 노선의 번호를 순서대로 나열한 것이다.

제한

  • 1T101 \le T \le 10
  • 2N10002 \le N \le 1000
  • 1M20001 \le M \le 2000
  • 1P5001 \le P \le 500
  • 1ui,viN1 \le u_i, v_i \le N
  • 1aibi10000001 \le a_i \le b_i \le 1000000
  • 내가 적어 둔 경로는 1번 도시에서 시작해 2번 도시에서 끝나는 올바른 경로다.
  • 같은 두 도시를 잇는 노선이 여러 개일 수 있고, 출발 도시와 도착 도시가 같은 노선도 있을 수 있다. 내 경로는 같은 도시를 여러 번 지날 수 있지만 같은 노선을 두 번 타지는 않는다.

출력

각 테스트 케이스마다 한 줄에 "Case #x: n"을 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, n은 1번 도시에서 2번 도시로 가는 최단 경로에 결코 들어갈 수 없는 첫 노선의 번호다. 그런 노선이 없으면 n 자리에 "Looks Good To Me"를 출력한다.