P24471 [AtCoder] Find Permutation
普及
题目描述

Problem Statement

There is $a length-N sequence A=(A_1,\ldots,A_N)$ that is a permutation of $1,\ldots,N$.
While you do not know A, you know that A_{X_i}<A_{Y_i} for M pairs of integers (X_i,Y_i).
Can A be uniquely determined? If it is possible, find A.

Input

The input is given from Standard Input in the following format:
N M
X_1 Y_1
$\vdots$
X_M Y_M

Output

If A can be uniquely determined, print Yes in the first line. Then, print $A_1,\ldots,A_N$ in the second line, separated by spaces.
If A cannot be uniquely determined, just print No.

Constraints

  • $2 \leq N \leq 2\times 10^5$
  • $1 \leq M \leq 2\times 10^5$
  • $1\leq X_i,Y_i \leq N$
  • All values in the input are integers.
  • There is an A consistent with the input.

Sample Input 1

3 2
3 1
2 3

Sample Output 1

Yes
3 1 2

We can uniquely determine that A=(3,1,2).

Sample Input 2

3 2
3 1
3 2

Sample Output 2

No

Two sequences (2,3,1) and (3,2,1) can be A.

Sample Input 3

4 6
1 2
1 2
2 3
2 3
3 4
3 4

Sample Output 3

Yes
1 2 3 4

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
3 2 3 1 2 3
样例输出
Yes 3 1 2