交通改造
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

A城是一座繁忙又有活力的城市,随着城市的发展,原有的道路越发拥堵,所以政府决定对原有的道路交通系统进行改造。

A城目前的道路是这样的:城市中有n个交叉路口,部分交叉路口通过道路直接相连,任意两个交叉路口之间最多有一条道路连接。A城的只有双向道,没有单向道,并且所有交叉路口都通过道路直接或间接相连。现在给每条道路设定一个通畅值,通畅值越小则该道路越繁忙也越需要改造。出于节约资金的思想考虑,现在政府希望改造的道路尽可能少,于是提出了下列要求:接受改造的道路能够令所有的交叉路口直接或间接相连,并且改造的道路数量应尽可能的少,其次在满足上述条件的情况下,令被改造的道路中通畅值最大的道路的通畅值尽量小。


现在你作为政府的顾问,请设计一套方案,确定哪些道路需要被改造。

输入描述:

第一行有两个整数n,m表示城市有n个交叉路口,m条道路。

接下来m行是对每条道路的描述,u, v,c表示交叉路口u和v之间有道路相连,分值为c。

输出描述:

两个整数s,max,表示你选出了几条道路,分值最大的那条道路的分值是多少。

示例1

输入

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

输出

复制
3 6

备注:

1≤n≤300,1≤c≤10000,1≤m≤100000