만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

황금 이정표

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

요약
주요 도로가 이루는 트리에서 각 도시까지 경로의 최소 너비가 다른 경로보다 작지 않은 도시를 모두 찾습니다.
난이도

보통10점 중 7점

유형
트리, 그래프, DFS, 정렬
정답자
아직 제출이 없습니다

문제

로마 제국은 매우 넓고, 모든 길은 로마로 통한다는 것은 누구나 아는 사실이다.

마지막 백인대장의 흔적을 따라가던 멜로디 송 교수가 로마 도로의 고대 지도를 발견했다. 로마의 정확한 위치는 오래전에 잊혔고, 멜로디는 이 지도에서 로마의 위치를 복원하려 한다. 지도에는 도시가 nn개 있고 도로가 mm개 있다. 각 도로는 보조 도로 또는 주요 도로로 표시되어 있다.

주요 도로는 로마로 가는 데 쓰였고, 신장 트리를 이루었다. 보조 도로는 대안 경로이거나 다른 도시 사이를 오갈 때 쓰였다. 도로마다 정해진 너비가 있다. 주요 도로는 매우 넓었다. 로마에서 임의의 도시로 가는 두 경로를 생각해 보자. 하나는 임의의 경로 PP이고, 다른 하나는 주요 도로만 쓰는 경로 QQ다. 이때 PP에서 가장 좁은 도로는 QQ에서 가장 좁은 도로보다 넓을 수 없다.

지도에는 로마 제국의 모든 도로에 대한 정보가 있다. 도로마다 종류 tt와 너비 ww가 적혀 있다. 이 지도로 어느 도시가 로마일 수 있는지 구하라.

입력

첫 줄에 정수 nn과 mm이 주어진다 (1≤n,m≤1051 \le n, m \le 10^5).

이어지는 mm개 줄에는 정수 네 개 tit_i, uiu_i, viv_i, wiw_i가 주어진다. 이는 도시 uiu_i와 viv_i를 잇는 양방향 도로이며, 종류는 tit_i, 너비는 wiw_i이다. 종류는 보조 도로이면 ti=0t_i = 0, 주요 도로이면 ti=1t_i = 1이다. 단, 1≤ui,vi≤n1 \le u_i, v_i \le n이고 1≤wi≤1091 \le w_i \le 10^9이다.

같은 두 도시를 잇는 도로가 여러 개 있을 수 있고, 도시를 자기 자신과 잇는 도로도 있을 수 있다. 주요 도로만 사용하는 단순 경로는 어떤 두 도시 사이에든 정확히 하나만 있음이 보장된다.

출력

첫 줄에 로마일 수 있는 도시의 개수 kk를 출력한다.

둘째 줄에는 그 도시들의 번호를 오름차순으로 출력한다.

로마일 수 있는 도시가 적어도 하나는 있음이 보장된다.

예제2

  1. 예제 1

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

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