#CSES1202. 调查

调查

题目背景

翻译自 CSES-1202 题。

题目描述

你将从 Syrjälä 城市飞往 Lehmälä 城市。你想回答以下几个问题:

  1. 最短价格的航线是多少?
  2. 有多少条最短价格的航线?(结果对 109+710^9+7 取模)
  3. 在最短价格的航线上,最少需要多少次航班?
  4. 在最短价格的航线上,最多需要多少次航班?

输入格式

第一行包含两个整数 nn 和 mm:分别表示城市的数量和航班的数量。城市编号为 1,2,…,n1,2,…,n,其中城市 11 是 Syrjälä,城市 nn 是 Lehmälä。

接下来的 mm 行,每行包含三个整数 aa、bb 和 cc:表示有一条从城市 aa 到城市 bb 的单向航班,价格为 cc。

你可以假设从 Syrjälä 到 Lehmälä 存在至少一条航线。

输出格式

输出四个整数,分别是:

  1. 最短价格的航线价格;
  2. 最短价格的航线的数量(对 109+710^9+7 取模);
  3. 在最短价格航线上所需的最少航班数;
  4. 在最短价格航线上所需的最多航班数。

样例

4 5
1 4 5
1 2 4
2 4 5
1 3 2
3 4 3
5 2 1 2

说明/提示

1≤n≤1051 \leq n \leq 10^5;

1≤m≤2⋅1051 \leq m \leq 2 \cdot 10^5;

1≤a,b≤n1 \leq a,b \leq n;

1≤c≤1091 \le c \le 10^9。