848. 有向图的拓扑序列 SPJ 标准IO
时间限制:1000 MS 内存限制:64 MB    算法评级:    状态:

给定一个 $n$ 个点 $m$ 条边的有向图,点的编号是 $1$ 到 $n$,图中可能存在重边和自环。

请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出 $−1$。

若一个由图中所有点构成的序列 $A$ 满足:对于图中的每条边 $(x,y)$,$x$ 在 $A$ 中都出现在 $y$ 之前,则称 $A$ 是该图的一个拓扑序列。


输入格式

第一行包含两个整数 $n$ 和 $m$。

接下来 $m$ 行,每行包含三个整数 $x$ 和 $y$,权值默认都为 $1$,表示存在一条从点 $x$ 到点 $y$ 的有向边 $(x,y)$。


输出格式

共一行,如果存在拓扑序列,则输出任意一个合法的拓扑序列即可。

否则输出 $−1$。


数据范围

$1 \le n,m \le 10^5$


样例输入

3 3
1 2 1
2 3 1
1 3 1

样例输出

1 2 3

 

代码运行状态:

输出