零件组装(component)
测试数据来自 zhongshi/1168
背景
第三次世界大战开始了,全世界都陷入了紧张之中,包括HY......
描述
为了保护同学,HY给每个人都配备 \(n\) 个枪支零件,第 \(i\) 个零件有独自的编号 \(a_i\) ,并且可以进行组装,变成强大的枪支。但由于卯榫和啮合等多种问题,零件之间有明确的先后组装顺序。同时为了保证零件不被偷走,在组装时所有的零件都需要用上。但我们的shjysl很懒,不想练习组装枪支,于是找到了会编程的你告诉他,怎样的组装顺序是合法的。由于答案可能很多,只需输出字典序最小的方案即可。当然,可能存在无法组装的枪支零件。
格式
输入
第一行输入 \(n\) ,表示有 \(n\) 个零件。 \((1≤n≤100)\)
第二行输入 \(m\) ,表示有 \(m\) 条组装先后顺序。 \((1≤m≤1000)\)
第三行至第 \(m+2\) 行,每行两个编号 \(i\) 和一个 \(j\) ,表示 \(i\) 需要在 \(j\) 之前组装。 \((1≤i,j≤n)\)
输出
一行,如果有解,输出字典序最小的合法组装顺序,否则输出 \(No\) 。
样例 1
输入
4
5
1 2
1 3
1 4
2 4
3 4
输出
1 2 3 4
提示说明
无。