编程题
### 问题描述
小齐养了 $N$ 头奶牛,每头奶牛都有自己最喜欢的颜色。奶牛们方便地被标记为 1 到 $N$。每种颜色可以用范围在 $1$ 到 $N$ 之间的整数表示。
有 $M$ 对奶牛,其中奶牛 $b$ 羡慕奶牛 $a$。可能存在 $a=b$ 的情况,即奶牛羡慕自己。对于任何颜色 $c$,如果奶牛 $x$ 和 $y$ 都羡慕颜色为 $c$ 的奶牛,则奶牛 $x$ 和 $y$ 共享相同的最喜欢颜色。
给定这些信息,确定一种奶牛到最喜欢颜色的分配方式,使得所有奶牛中的不同最喜欢颜色的数量最大化。由于存在满足此属性的多种分配方式,输出字典序最小的一种(即按照 $1$ 到 $N$ 的顺序分配颜色)。
### 输入格式
第一行包含整数 $N$ 和 $M$。
接下来的 $M$ 行,每行包含两个用空格分隔的整数 $a$ 和 $b$,表示奶牛 $b$ 羡慕奶牛 $a$。输入中可能多次出现相同的一对数字。
### 输出格式
对于每个 $i$,在新的一行上输出奶牛 $i$ 的最喜欢颜色。
### 样例输入
```
9 12
1 2
4 2
5 8
4 6
6 9
2 9
8 7
8 3
7 1
9 4
3 5
3 4
```
### 样例输出
```
1
2
3
1
1
2
3
2
3
```
### 评测数据规模
$1 \leq N \leq 2 \times 10^5$,$1 \leq M \leq 2 \times 10^5$,$1 \leq i \leq N$。