#CSES1668. 修建团队

修建团队

题目背景

翻译自 CSES-1668 题。

题目描述

Uolevi 的班级中有 nn 名学生,学生之间有 mm 条友谊。你的任务是将学生分成两组,使得同一组内的学生之间没有友谊。你可以自由选择每组的大小。

输入格式

第一行包含两个整数 nn 和 mm,分别表示学生的数量和友谊的数量。学生编号为 1,2,…,n1,2,…,n。

接下来的 mm 行,每行包含两个整数 aa 和 bb,表示学生 aa 和学生 bb 是朋友。

每条友谊连接的是两个不同的学生,且每两个学生之间至多有一条友谊。

输出格式

输出一种可能的分组方案。对于每个学生,输出 1 或 2,表示该学生被分配到第 11 组或第 22 组。你可以输出任何一个有效的分组方案。

如果无法分组,输出 IMPOSSIBLE。

样例

5 3
1 2
1 3
4 5
1 2 2 1 2

说明/提示

1≤n≤1051 \le n \le 10^5;

1≤m≤2⋅1051\le m \le 2 \cdot 10^5;

1≤a,b≤n1\le a,b \le n。