CCA的图
题号:NC213878
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

是不是经常向往外面的天空呢?那就来一场说走就走的旅行吧!
你现在在 s 号城市,想去 t 号城市,城市间有双向道路,保证任意两座城市可以通过这些道路相互到达。
但是出去的人太多了,以至于政府不得不给每条道路打上标记,这个标记是一个数字,政府会规定人们只能走标记在 [L , R] 内的道路。
现在你想求出在 L,R 分别等于多少时,你可以顺利到达 t 号城市,要求 L 尽可能大,在 L 最大的情况下 R 尽可能小 。 

输入描述:

第一行四个正整数,n , m , s , t ,分别表示城市数量,道路数量和起点、终点城市编号 。
接下来的 m 行,每行三个正整数 u , v , w ,表示有一条连接 u,v 的双向道路,其标记为 w 。

输出描述:

一行,两个正整数,表示最大的 L 和 在 L 最大的情况下最小的 R 。
示例1

输入

复制
4 4 1 4
1 3 3
1 2 2
3 4 2
1 4 1

输出

复制
2 3

备注:

n <= 10^6 , m <= 3 × 10^6 , s,t,u,v <= n , w <= 10^9