水没都市
题号:NC236763
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

心灵早已被冲走
沉入谎言之中
在这深邃的深邃的水底
漂浮着陷入长眠
做着无法实现的梦
歌唱着想要消失
在这不会被爱的城镇中


世界由  个城镇和  条连接两个城镇的双向路径组成。开始时每条路有一个高度  。

海水将会从  号城镇进入,时刻  时海水高度为  ,它会漫过所有从  号城镇出发高度不超过  的边。

具体地, 号点在时刻  时就被淹没,若  到  存在某条路径上高度最高的边  不超过  ,那么时刻  时城镇  将会被淹没。

海水不会淹没所有城镇。具体地,从时刻  开始,若时刻  时有城镇没有被淹没并且时刻  时所有城镇都将被淹没,那么在时刻  之后海水将不会上涨。

现在你可以使用魔法将某条边提高一格高度(即让  ),求最少使用多少次能够使得  号城镇不会被淹没。

输入描述:

第一行输入两个正整数   分别表示城镇数量和路径数量。

接下来  行每行三个正整数   表示有一条连接  号和  号城镇的双向路径,高度为  。
保证图联通。

输出描述:

输出一行一个正整数表示需要的最少魔法次数。
示例1

输入

复制
5 6
1 2 5
2 3 3
3 4 4
4 5 1
1 4 2
1 5 1

输出

复制
5