CF241E Flights

题目描述

LiLand 是一个由 $n$ 个城市组成的国家。城市从 $1$ 到 $n$ 编号。LiLan奇特的交通系统闻名天下。它的城市由许多单向航线连接,但是航线特殊的安排的方案导致:一旦离开某个城市,你就不可能再回来了。 从前,每条航线的航程一小时。但最近 Lily 成为了该国交通系统的新经理。她想把一些航线的航程改为 $2$ 小时,使得所有从城市 $1$ 到城市 $n$ 的路线的总航程都相同。 你的任务是帮助 Lily 改变航线的航程。

输入格式

输入第一行包含两个整数 $n$ 和 $m$ $(2 \le n \le 1000),(1 \le m \le 5000)$ ,分别表示城市数和航线数。 接下来 $m$ 行,每行两个整数 $a_{i},b_{i} (1 \le a_{i},b_{i} \le n)$,表示一条从城市 $a_{i}$ 到城市 $b_{i}$ 的单向航线。保证至少存在一条从城市 $1$ 到 $n$ 的路线。保证不存在环状的路线,保证不存在两条航线连接同一对城市。

输出格式

如果 Lily 不可能达成目的,输出仅一行 `No`。 否则,第一行输出 `Yes`,接下来 $m$ 行,每行输出一个整数 $ans_{i}$ 表示第 $i$ 条航线的航程。请务必按航线输入的顺序输出。 如果多解,输出任一解。