#ABC177D. 朋友

朋友

朋友

  • 时间限制:2 秒
  • 内存限制:256 MiB

题目描述

NN 个人,编号为 11NN

给出 MM 条信息,每条信息表示人 AiA_i 和人 BiB_i 是朋友。同一条信息可能被给出多次。

如果 XXYY 是朋友,且 YYZZ 是朋友,那么 XXZZ 也是朋友。除此之外,不存在无法由给定信息推出的朋友关系。

现在要把这 NN 个人分成若干组,使得每个人与同组内的其他人都不是朋友。求最少需要分成多少组。

输入格式

第一行包含两个整数 N,MN,M

接下来 MM 行,每行包含两个整数 Ai,BiA_i,B_i,表示一条朋友信息。

输出格式

输出最少需要分成的组数。

样例输入 1

5 3
1 2
3 4
5 1

样例输出 1

3

样例输入 2

4 10
1 2
2 1
1 2
2 1
1 2
1 3
1 4
2 3
2 4
3 4

样例输出 2

4

样例输入 3

10 4
3 1
4 1
5 9
2 6

样例输出 3

3

样例解释

对于样例 1,可以分成 {1,3}\{1,3\}{2,4}\{2,4\}{5}\{5\} 三组。

数据范围

  • 2N2×1052\le N\le2\times10^5
  • 0M2×1050\le M\le2\times10^5
  • 1Ai,BiN1\le A_i,B_i\le N
  • AiBiA_i\ne B_i
子任务编号 分值 特殊限制
1 30 N50N\le50
2 每个连通分量均为完全图
3 40 无特殊限制