今年冬天来得格外早。幸运的是,天气并不算太恶劣,但气温在零度左右徘徊对道路造成了不利影响。更糟糕的是,道路养护部门的资金已经耗尽,而距离新的一年(以及新的预算拨款)还有很长一段时间。预见到会有许多道路受损,局长下令只修复总长度最小的道路子集,且该子集仍需保证任意两个城镇之间可以通行。局长对自己的想法感到自豪,并将这个子集称为“最小交通支撑”(Minimal Support of Transportation,简称 MST)。当他最聪明的员工 Johnny 提到可能存在不止一个 MST 时,局长立刻断定这其实是一件好事:只要存在一个仅由完好道路组成的 MST,就不需要进行任何维修!对于 Johnny 本想作为反问句提出的第二个问题:“需要损坏多少条道路,我们才真正开始维修?”,局长只是回答道:“好问题!我等着你的答案!”。不幸的是,这个问题对 Johnny 来说太难了,所以他决定将其外包给外部专家(也就是你)。在与你的交谈中,他自豪地指出所有道路都是双向的。
输入格式
输入的第一行包含两个整数 $n$ 和 $m$ ($1 \leq n \leq 300$, $1 \leq m \leq 600$),用空格分隔,分别表示城镇的数量和城镇之间双向道路的数量。接下来的 $m$ 行描述了这些道路。每一行包含三个整数 $a_i$、$b_i$ 和 $c_i$ ($1 \leq a_i, b_i \leq n$, $a_i \ne b_i$, $1 \leq c_i \leq 10^6$),用空格分隔,表示城镇 $a_i$ 和 $b_i$ 之间直接由一条长度为 $c_i$ 的道路连接。
两个城镇之间可能有多条道路直接相连,但不存在两端连接同一个城镇的道路(如果存在这样的道路,它们无论如何都不会被修复)。你可以假设给定的道路允许在任意两个城镇之间通行。
输出格式
输出的第一行也是唯一一行应包含一个整数:如果道路损坏,迫使道路养护部门必须进行维修的最小道路数量。
样例
输入 1
4 5
2 3 5
3 4 5
2 4 6
1 4 2
1 2 2
输出 1
1
说明
示例测试中的道路网络恰好包含两个 MST,在图中用粗线标出。两条长度为 $2$ 的道路都属于这两个 MST,因此损坏其中任何一条都会迫使进行维修。
