赛车游戏

题目描述

R 君和小伙伴打算一起玩赛车。但他们被老司机 mocania 骗去了秋名山。 秋名山上有 $n$ 个点和 $m$ 条边,R 君和他的小伙伴要从点 $1$ 出发开往点 $n$,每条边都有一个初始的方向。老司机 mocania 拿到了秋名山的地图但却不知道每条路有多长。显然,为了赛车游戏的公平,每条 $1$ 到 $n$ 的路径应当是等长的。mocania 想,我就随便给边标上一个 $1...9$ 的长度,反正傻傻的 R 君也看不出来。 可 mocania 的数学不大好,不知道怎么给边标长度,只能跑来请教你这个 OI 高手了。

输入输出格式

输入格式


第一行两个整数 $n,m$。 接下来 $m$ 行,每行两个整数 $u,v$,表示一条从 $u$ 到 $v$ 的有向边。

输出格式


如果无解或者不存在 $1$ 到 $n$ 的路径直接输出一个 $-1$。 如果有解第一行输出两个数 $n,m$,和输入文件中给出的相同。 接下来 $m$ 行,每行三个整数 $u,v,w$,表示把从 $u$ 到 $v$ 的路径的长度设置为 $w$,其中 $w$ 是一个 $1\sim 9$ 的整数。要求所有边的出现顺序和题目中给出的相同。

输入输出样例

输入样例 #1

10 10
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
1 10

输出样例 #1

10 10
1 2 1
2 3 1
3 4 1
4 5 1
5 6 1
6 7 1
7 8 1
8 9 1
9 10 1
1 10 9

说明

#### 数据范围 **本题启用 Special Judge 和 Subtask。** Subtask #1($30$ 分):$n \leq 10$,$m \leq 20$; Subtask #2($30$ 分):$n \leq 100$,$m \leq 200$; Subtask #3($40$ 分):$n \leq 1000$,$m \leq 2000$。 保证数据中不会出现重边,自环。