모형 철도

이미 깔린 선로를 같은 총 길이 예산 안에서 교체해 모든 역을 연결할 수 있는지 판정한다.

보통6최소 신장 트리유니온 파인드그리디면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

어릴 때부터 모형 철도에 푹 빠져 살았다. 선로를 직접 설계하고, 복잡한 분기점을 만들고, 승객과 기관사와 짐 미니어처까지 놓인 역을 꾸미는 일은 정말 재미있다. 대신 자리를 많이 차지한다. 집이 이미 꽉 차서 정원으로 옮기기로 했다.

완성한 선로를 전부 밖으로 옮기고 나서야 큰 문제를 발견했다. 예전에는 선로가 방마다 따로 놓여 있었던 탓에, 서로 오갈 수 없는 역이 있다. 이건 고쳐야 한다.

역의 위치는 이미 정해 두었으므로, 놓을 수 있는 모든 연결의 길이와 이미 놓여 있는 연결을 알고 있다. 모든 연결은 양방향으로 쓴다. 이미 놓여 있는 연결 중 원하는 만큼 걷어내고, 걷어낸 길이의 합을 넘지 않는 범위에서 새 연결을 놓을 수 있다. 모든 역이 서로 오갈 수 있도록 선로를 다시 배치할 수 있는지 판정하라.

입력

입력은 다음과 같다.

  • 첫째 줄에 정수 nn (2n5×1042 \le n \le 5 \times 10^4), mm (0m2.5×1050 \le m \le 2.5 \times 10^5), \ell (0m0 \le \ell \le m)이 주어진다. nn은 역의 수, mm은 놓을 수 있는 연결의 수, \ell은 이미 놓여 있는 연결의 수이다.
  • 다음 mm개 줄에 정수 aa, bb (1a,bn1 \le a, b \le n)와 cc (0c5×1030 \le c \le 5 \times 10^3)가 주어진다. 역 aa와 역 bb를 잇는 길이 cc의 연결을 뜻한다.

이 중 처음 \ell개는 이미 놓여 있는 연결이다. 연결의 두 끝점이 같은 역일 수 있고, 같은 역 쌍이 여러 번 나올 수도 있다.

출력

모든 역이 서로 오갈 수 있게 만들 수 있으면 possible을, 그렇지 않으면 impossible을 출력한다.

힌트

첫 번째 예제는 그림 E.1과 같다. 역 1과 역 2를 잇는 길이 2짜리 연결을 걷어내고 그 대신 역 2와 역 4를 잇는 연결을 놓으면 모든 역이 이어진다. 망치가 있으니 레일이 얼마나 휘었는지는 상관없다.

두 번째 예제는 그림 E.2와 같고, 세 역을 모두 잇는 것은 불가능하다.

그림 E.1: 첫 번째 예제 입력.

그림 E.2: 두 번째 예제 입력.