题目描述
有 n 个男生,编号从 1 到 n,编号也是从 1 到 n。
他们之间有 m 对友好关系,第 i 对友好关系表示为两个整数 ui 和 vi(1≤ui,vi≤n),表示第 ui 个男生和第 vi 个女生是友好关系。
现在你需要从这 2n 个人中选出尽可能多的舞伴,一对舞伴办好恰好一个男生和一个女生,但是只有具有友好关系的男女生之间才能组成舞伴,不具有友好关系的男女生之间不能组成舞伴。并且每个人最多只能有一个舞伴。
问:最多能够组成多少对舞伴?
输入格式
一行,两个整数 n 和 m,以一个空格分隔(1≤n≤500,0≤m≤min{105,n2})。
接下来 m 行,每行包含两个整数 ui 和 vi(1≤ui,vi≤n),表示第 ui 个男生和第 vi 个女生是友好关系。
输出格式
输出一个整数,表示最多能够组成多少对舞伴。
样例
4 6
1 2
1 4
2 2
3 2
3 4
4 1
3
说明/提示
数据规模与约定
- 对于 30% 的数据,n≤50,m≤1000
- 对于 100% 的数据,1≤n≤500,0≤m≤min{105,n2}