众所周知,计算有向无环图的连通性是一个难以高效解决的问题。但 little tarjen 声称他有一个可以在近乎线性时间内解决该问题的算法。形式化地,他解决了以下问题,并提供了许多测试用例来证明他的算法是正确的:
- 给定一个具有 $n$ 个顶点和 $m$ 条边的有向无环图(DAG),对于每个节点 $u$,求出 $r_u$,即从顶点 $u$ 出发可以到达的顶点数量(包含 $u$ 本身)。
然而,聪明的你发现 little tarjen 生成的所有图都是特殊的。更具体地说,令 $in_i$ 为顶点 $i$ 的入度,$out_i$ 为顶点 $i$ 的出度,则所有图都满足 $\sum_{i=1}^{n} |in_i - out_i| \leq 120$。
你想要证明在这一约束条件下,解决该问题非常简单。请编写一个程序来解决这个问题。
输入格式
第一行包含两个整数 $n$ 和 $m$ ($2 \leq n \leq 10^6, 1 \leq m \leq 10^6$)。
接下来的 $m$ 行,每行包含两个整数 $u, v$ ($1 \leq u < v \leq n$),表示图中的一条有向边。
保证 $\sum_{i=1}^{n} |in_i - out_i| \leq 120$。
输出格式
一行包含 $n$ 个整数,表示 $r_1, r_2, \dots, r_n$。
样例
输入 1
4 6 1 3 2 3 2 4 1 2 1 3 1 3
输出 1
4 3 1 1
输入 2
5 7 1 4 1 5 1 2 2 4 3 4 2 5 1 4
输出 2
4 3 2 1 1