休息中的小呆

题目描述

当大家在考场中接受考验(折磨?)的时候,小呆正在悠闲(欠扁)地玩一个叫“最初梦想”的游戏。游戏描述的是一个叫 pass 的有志少年在不同的时空穿越对抗传说中的大魔王 chinesesonic 的故事。小呆发现这个游戏的故事流程设计得很复杂,它有着很多的分支剧情,但不同的分支剧情是可以同时进行的,因此游戏可以由剧情和剧情的结束点组成,某些剧情必须要在一些特定的剧情结束后才能继续发展。为了体验游戏的完整性,小呆决定要看到所有的分支剧情——完成所有的任务。但这样做会不会耽误小呆宝贵的睡觉时间呢?所以就请你来解决这个问题了。

输入输出格式

输入格式


小呆会给你一个剧情流程和完成条件的列表, 其中第一行有一个数 $n$,表示总共有 $n$ 个剧情结束点; 第二行一个数 $m$,表示有 $m$个不同的剧情; 下面的 $m$ 行中每行有三个数,表示从剧情结束点 $i$ 必须完成一个耗费时间为 $k$ 的剧情才能到达剧情结束点 $j$。

输出格式


你要告诉小呆完成整个游戏至少需要多少时间,以及要经过的所有可能的剧情结束点(按升序输出)。

输入输出样例

输入样例 #1

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

输出样例 #1

7
1 2 3 5

说明

### 数据范围及约定 对于全部数据,$0<n<100$,$0<m\le 120$,$0<i\le 100$,$0<j\le 100$,$0<k\le 1000$。