CF412D Giving Awards

题目描述

## 问题描述 R1 公司的员工们喜欢一起消磨时间,他们一起看球赛,一起去野餐,一起做 Codeforces 的比赛。所以,一个人替另一个人结账是没什么大不了的事情。 今天是发奖金的日子,R1 公司的 CEO 会把员工一个一个请到他的办公室去,按照他们这个月的工作努力程度发奖金。CEO 知道谁欠谁的钱,而且他知道,如果他邀请 $x$ 去他的办公室,然后马上邀请 $y$ 去他办公室,且 $y$ 借给了 $x$ 一些钱,那么他们就能相遇,发生比较尴尬的事情,然后 $x$ 得到的钱就变少了。因此,R1 公司的 CEO 决定按照一个合适的顺序(即上述情况不会发生在任意一对员工之间)邀请员工。 但是,由于员工特别多,CEO 的时间是有限的,于是这个安排顺序的工作就落在了你的手中。给你员工之间的所有债务关系,请你为 R1 公司的 CEO 决定一个邀请员工的顺序。

输入格式

第一行两个整数 $n,m$,表示员工的数量和债务关系的数量。 接下来 $m$ 行每行两个数 $a,b$,表示员工 $a$ 欠 $b$ 钱。 每对人只会被提到一次。

输出格式

输出一个长度为 $n$ 的序列,第一个数为第一个邀请的员工编号,第二个为第二个邀请的员工编号,以此类推。 如果不存在合适的方案,只输出一个 $-1$。