#CSES1196. 航班路线

航班路线

题目背景

翻译自 CSES-1196 题。

题目描述

你的任务是找出从 Syrjälä 到 Metsälä 的 kk 条最短航班路线。一个路线可以多次经过同一个城市。

注意:可能存在多个价格相同的路线,每条这样的路线都应该被考虑(请参考示例)。

输入格式

第一行包含三个整数 nnmm,和 kk:分别表示城市的数量、航班的数量和需要找到的最短路线的数量 kk。城市编号为 1,2,,n1,2,…,n,其中城市 11 是 Syrjälä,城市 nn 是 Metsälä。

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

你可以假设从 Syrjälä 到 Metsälä 至少有 kk 条不同的路线。

输出格式

输出 kk 个整数:表示从 Syrjälä 到 Metsälä 的 kk 条最便宜路线的价格,并按照价格从小到大排序。

样例

4 6 3
1 2 1
1 3 3
2 3 2
2 4 6
3 2 8
3 4 1
4 4 7

样例1解释

最便宜的三条路线分别是:

  1. 1341 → 3 → 4(价格为 44
  2. 12341 → 2 → 3 → 4(价格为 44
  3. 1241 → 2 → 4(价格为 77

因此,输出价格分别为 444477

说明/提示

2n1052 \leq n \leq 10^5

1m21051 \leq m \leq 2 \cdot 10^5

1a,bn1 \leq a,b \leq n

1c1091 \le c \le 10^9

1k101 \leq k \leq 10