罗马帝国幅员辽阔,众所周知,条条大路通罗马!
追随最后一位百夫长的足迹,Melody Song 教授发现了一张古老的罗马道路地图。罗马的具体位置早已被遗忘,Melody 想要从地图中将其复原。地图上有 $n$ 座城市,编号从 $1$ 到 $n$,共有 $m$ 条道路。每条道路都被标记为次要道路或主要道路。
主要道路用于前往罗马,并构成了一棵生成树;次要道路则用作替代路线或用于连接其他城市。每条道路都有固定的宽度。已知主要道路非常宽:如果我们考虑从罗马到任意其他城市的两条路径,一条是任意路径 $P$,另一条是仅使用主要道路的简单路径 $Q$,那么路径 $P$ 上最窄道路的宽度不可能大于路径 $Q$ 上最窄道路的宽度。
Melody 发现的地图包含了罗马帝国每一条道路的信息,即其类型 $t$ 和宽度 $w$。你的任务是帮助她确定根据这张地图,哪些城市可能是罗马。
输入格式
第一行包含两个整数 $n$ 和 $m$ ($1 \le n, m \le 10^5$)。
接下来的 $m$ 行,每行包含四个整数 $t_i, u_i, v_i$ 和 $w_i$,描述了一条连接城市 $u_i$ 和 $v_i$ 的双向道路,其类型为 $t_i$,宽度为 $w_i$ ($1 \le u_i, v_i \le n, 1 \le w_i \le 10^9$)。类型 $t_i = 0$ 表示次要道路,$t_i = 1$ 表示主要道路。
同一对城市之间可能存在多条道路,也可能存在连接城市自身的道路。题目保证任意两座城市之间通过主要道路恰好存在一条简单路径。
输出格式
第一行输出一个整数 $k$,表示可能是罗马的城市数量。
第二行按升序输出 $k$ 个整数,表示这些城市的编号。
题目保证至少存在一个这样的城市。
样例
样例输入 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 1
样例输入 2
3 3 0 2 3 1 1 1 2 2 1 1 3 2
样例输出 2
3 1 2 3