#abc291e. [abc291_e]Find Permutation

[abc291_e]Find Permutation

题目描述

给定一个长度为 NN 的序列 A=(A1,ldots,AN)A=(A_1,\\ldots,A_N),它是 1,ldots,N1,\\ldots,N 的一个排列。

当你不知道 AA 的具体值时,你只知道存在 MM 对整数 (Xi,Yi)(X_i,Y_i),满足 AXi<AYiA_{X_i}<A_{Y_i}

能够唯一确定 AA 吗?如果可能,找出 AA

约束条件

  • 2leqNleq2times1052 \\leq N \\leq 2\\times 10^5
  • 1leqMleq2times1051 \\leq M \\leq 2\\times 10^5
  • 1leqXi,YileqN1\\leq X_i,Y_i \\leq N
  • 输入中的所有值都是整数。
  • 存在一个符合输入的 AA

输入

从标准输入读入输入数据。输入格式如下:

NN MM X1X_1 Y1Y_1 vdots\\vdots XMX_M YMY_M

输出

如果能够唯一确定 AA,则首先打印 Yes。然后,在第二行打印 A1,ldots,ANA_1,\\ldots,A_N,用空格分隔。

如果不能唯一确定 AA,只需打印 No


示例输入1

3 2
3 1
2 3

示例输出1

Yes
3 1 2

我们可以唯一确定 A=(3,1,2)A=(3,1,2)


示例输入2

3 2
3 1
3 2

示例输出2

No

两个序列 (2,3,1)(2,3,1)(3,2,1)(3,2,1) 都可能是 AA


示例输入3

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

示例输出3

Yes
1 2 3 4