双手同步

题目描述

在森林运动会上,乐柠兔正在参加一项协调能力挑战比赛——双手同步移动

场地可以看作一张有向图,共有 nn 个节点、mm 条有向边。

每条有向边 (u,v,w)(u,v,w) 表示:乐柠兔可以在 uu 点将手中的球沿着这条边移动到 vv 点,所需时间为 ww

现在,乐柠兔的左手拿着一颗红球,右手拿着一颗蓝球。

在每局游戏中:

  • 红球初始在节点 1
  • 蓝球初始在节点 ii(其中 2in2 \le i \le n);
  • 乐柠兔每次只能移动一只手(即同时只能操作一个球);
  • 目标是:让两颗球最终同时停在同一个节点,并使总耗时最少。

请你帮助乐柠兔计算:

对于每个蓝球初始点 ii2in2 \le i \le n),完成这一过程的最短时间是多少。

若无法让两球相遇,则输出 -1


输入格式

第一行包含两个整数 nnmm,表示节点数与有向边数。

接下来 mm 行,每行包含三个整数 u,v,wu, v, w,表示有一条从 uu 指向 vv 的有向边,边长为 ww


输出格式

输出一行 n1n - 1 个整数,分别对应蓝球初始位置为 2,3,,n2, 3, \dots, n 的最小完成时间。

若无法使两球在同一节点相遇,输出 -1


样例输入

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

样例输出

1 -1 3 4

样例解释

  • 当蓝球在 2 号点 时,可以:
    • 红球从 1 号经过 121 \to 2,耗时 2;
    • 蓝球从 2 号经过 212 \to 1,耗时 1;
    • 同步最小时间为 1。
  • 当蓝球在 3 号点 时,图上无法让两球到达同一点,输出 -1
  • 当蓝球在 4 号点 时,最短总时间为 3。
  • 当蓝球在 5 号点 时,最短总时间为 4。

数据范围

  • 2n2×1052 \le n \le 2 \times 10^5
  • 0m4×1050 \le m \le 4 \times 10^5
  • 1u,vn,uv1 \le u, v \le n,u \neq v
  • 1w1091 \le w \le 10^9