매일 같은 길로 출근한다. 그 길이 가장 짧기 때문이다. 시간은 아끼지만 매일 아침 같은 건물과 같은 교차로만 보다 보니 슬슬 지겨워졌다. 그래서 다른 길을 찾아보기로 했다. 물론 시간을 더 쓸 생각은 없으니 새 길도 지금 길과 길이가 같아야 한다.
교차로에는 1번부터 N번까지 번호가 붙어 있고, 출근길은 1번에서 시작해 N번에서 끝난다. 지금 다니는 길과 도로가 하나라도 다르면서 길이가 같은 길이 있는지 판정하라.
두 교차로를 잇는 도로는 여러 개일 수 있다. 길이가 같더라도 다른 도로를 지나면 다른 길로 친다.
첫째 줄에 교차로의 수 N, 도로의 수 M, 매일 지나는 교차로의 수 K가 주어진다. (1≤K≤N≤10000, 0≤M≤1000000)
둘째 줄에 매일 지나는 교차로의 번호가 지나는 순서대로 K개 주어진다. 첫 번째 수는 항상 1이고, 마지막 수는 항상 N이다. 이 순서대로 이어지는 길은 1번에서 N번으로 가는 최단 경로다.
다음 M개 줄에는 도로의 정보가 한 줄에 하나씩 주어진다. i번째 줄에는 세 정수 ai, bi, ci가 주어지며, 교차로 ai와 bi를 잇는 길이 ci의 도로를 뜻한다. (1≤ai,bi≤N, 1≤ci≤10000) 도로는 모두 양방향이다.
같은 두 교차로를 잇는 도로가 여러 개 있을 수 있다. 매일 지나는 경로는 이웃한 두 교차로 a와 b 사이에서 길이가 가장 짧은 도로를 사용한다.
시간을 더 쓰지 않고 갈 수 있는 다른 길이 있으면 yes를, 없으면 no를 한 줄에 출력한다.