#2775. 拓扑排序(模板)

拓扑排序(模板)

Background

给定一个nn个点mm条边的有向图,点的编号是11到nn,图中可能存在重边和自环。

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

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

Input

第一行包含两个整数nn和mm。

接下来mm行,每行包含两个整数xx和yy,表示存在一条从点xx到点yy的有向边(x,y)(x,y)。

Output

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

否则输出−1−1。

Samples

3 3
1 2
2 3
1 3
1 2 3

Limitation

1≤n,m≤1051≤n,m≤10^5