아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Дураки и дороги

시간 제한2초메모리 제한1024 MB

요약
각 회사마다 a에서 b로 가는 경로 중 그 회사가 소유한 도로를 하나도 지나지 않는 경로가 있는지 판정한다.
난이도

보통10점 중 7점

유형
그래프, DFS, 유니온 파인드, 백트래킹
정답자
아직 제출이 없습니다

문제

Как известно, в Берляндии ровно две проблемы, и дороги --- одна из них.

Из курса школьной географии вам должно быть знакомо, что в Берляндии ровно nn городов и mm дорог с двусторонним движением. Некоторые дороги, будем честны, находятся в плачевном состоянии.

Для поддержания качества дорог правительство объявило некоторые из них платными. Каждая платная дорога обслуживается одной из kk компаний, которая и обеспечивает своевременный ремонт дороги (она же и взимает плату за проезд по ней).

В Берляндии не только две проблемы, но и две столицы. Они находятся на разных широтах, поэтому одну называют Северной, а другую --- Южной. Споры о том, какая столица главнее, длятся уже много лет, но для компаний важно не кто главнее, а то, что именно между этими двумя городами сосредоточен основной автомобильный трафик.

Берляндская антимонопольная служба заподозрила, что дороги были распределены нечестно, а именно, что существует путь между Северной столицей и Южной, такой что какая-то из компаний не владеет ни одной из дорог этого пути. По мнению представителей службы, это создает нездоровую конкуренцию, и таких ситуаций необходимо избегать, но для начала необходимо выявить все компании, страдающие от подобной несправедливости. Эту нелёгкую задачу антимонопольная служба поручила вам.

Назовем компанию обделённой, если существует какой-нибудь путь между двумя столицами, на котором нет ни одной дороги, обслуживаемой этой компанией. Выведите номера всех обделённых компаний.

입력

В первой строке входных данных записаны три числа nn, mm и kk (2≤n,k≤100,000,1≤m≤100,0002 \leq n, k \leq 100\\,000, 1 \leq m \leq 100\\,000) --- количество городов, дорог и компаний соответственно.

Далее следуют mm строк, описывающих дороги. В ii-й из них записаны три целых числа u_iu\_i, v_iv\_i и c_ic\_i (1≤u_i,v_i≤n1 \leq u\_i, v\_i \leq n, 0≤c_i≤k0 \leq c\_i \leq k) --- номера городов, соединенных ii-й дорогой, и номер компании, которая эту дорогу обслуживает. При этом c_i=0c\_i = 0 означает, что дорога осталась бесплатной и не принадлежит ни одной компании.

В последней строке записаны два числа aa и bb (1≤a,b≤n,a≠b1 \leq a, b \leq n, a \ne b) --- номера городов, являющихся Северной и Южной столицами соответственно.

Гарантируется, что никакая дорога не соединяет город сам с собой и между каждой парой городов проходит не более одной дороги.

출력

В первой строке выведите количество обделённых компаний.

Во второй строке выведите номера всех обделённых компаний в порядке возрастания.

힌트

В первом примере есть путь 1-2-3-4, на котором дороги только первой компании (на рисунке красные) и бесплатные (черные) и нет дорог второй компании, а также путь 1-3-2-4, на котором только дороги второй компании (синие) и бесплатные.

Во втором примере существует всего 2 пути из 1 города в 4: 1-2-4 и 1-3-4. На обоих присутствуют дороги обеих компаний.

예제2

  1. 예제 1

    입력
    4 5 2
    1 2 1
    1 3 2
    2 4 2
    3 4 1
    2 3 0
    1 4
    
    예상 출력
    2
    1 2
    
  2. 예제 2

    입력
    4 4 2
    1 2 1
    1 3 2
    2 4 2
    3 4 1
    1 4
    
    예상 출력
    0