#nc0002. 【模板】拓扑排序

【模板】拓扑排序

题目描述

给定一个包含 nn 个点、mm 条边的有向无环图,求出该图的拓扑序。

若图的拓扑序不唯一,输出任意合法的拓扑序即可。

若该图不能拓扑排序,输出 -1。

输入描述

第一行输入两个整数 n,mn,m:

1≤n,m≤2×1051\le n,m\le 2\times10^5

表示点的个数和边的条数。

接下来的 mm 行,每行输入两个整数 ui,viu_i,v_i:

1≤ui,vi≤n1\le u_i,v_i\le n

表示从 uiu_i 到 viv_i 之间有一条有向边。

输出描述

若图存在拓扑序,输出一行 nn 个整数,表示任意一个合法拓扑序。

否则输出:

-1

注意:输出的最后一个数后面不要带空格。

示例

输入

5 4
1 2
2 3
3 4
4 5

输出

1 2 3 4 5

评测说明

本题使用 Special Judge。

若存在多个合法拓扑序,输出其中任意一个均可通过。