#36. 理想路径

理想路径

Description

给定一个有nn 个节点、mm 条边的无向图,每条边都涂有11种颜色。求节点11nn 的一条路径,使得经过的边数最少,在此前提下,经过边的颜色序列最小。可能有自环与重边。输入保证至少存在一条连接节点11nn 的路径。

Format

Input

输入共m+1m +1行。第1行包含两个整数:nn mm 。之后的mm行,每行都包含3个整数aibiciai 、bi 、ci ,表示在aibiai 、bi 之间有一条颜色为cici 的路径。

Output

输出共两行,第1行包含正整数kk ,表示节点11nn 至少需要经过kk 条边。第2行包含kk 个由空格隔开的正整数,表示节点11nn 依次经过的边的颜色。

Samples

4 6
1 2 1
1 3 2
3 4 3
2 3 1
2 4 4
3 1 1
2
1 3

输出样例解释:节点1144至少经过两条边:131→3,颜色为11(最后输入的那条);343→4,颜色为33。数据范围:2n1052≤n ≤105 1m1051≤m ≤1051ci1091≤ci ≤109 ,对于任意i[1,m]i ∈[1,m ],都有1ai,bin1≤ai ,bi ≤n 。对于两个长度为kk 的序列aabb ,若存在i[1,k]i ∈[1,k ]使ai<biai <bi ,且对于任意j[1,i)j∈[1,i )都有aj=bjaj =bj ,则a<ba <b