1168: 收集宝石

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:4 Solved:1

Description

聪聪在玩冒险岛游戏,为了召唤法力更强大的神龙,他必须尽可能收集更多的魔法宝石,每颗宝石都有不同的功效。不过在游戏里,几乎每一颗魔法宝石都会和另外一颗宝石相冲。相冲表示这俩颗宝石不能同时拥有。例如,宝石A和宝石B相冲,那么,你可以选择两颗宝石都不收集,也可以只收集宝石A或者只收集宝石B.但不能同时拥有宝石A和宝石B。
现在给定了游戏里宝石的数量N(2<=N<=100,宝石从1到N依次编号,并给出M对(2<=M<=2000)相冲的宝石编号,请帮聪聪计算出最多能够收集到多少颗宝石。
例如:N=6,M=8时,6颗宝石的编号分别为1、2、3、4、5、6,其中有8对相冲的宝石,对应编号如下
1 2
2 3
2 4
2 5
2 6
3 4
4 5
5 6
这表示宝石1和宝石2相冲,宝石2和宝石3、4、5、6都相冲,宝石3和宝石4相冲,宝石4和宝石5相冲,宝石5和宝石6相冲。
此时,有三个方案收集到的宝石数量最多:(1,3,5)、(1,3,6)、(1,4,6),且收集到的宝石数量都是3。程序输出:3。

Input

第一行两个数字N,M
后面M行,每行两个数字,代表相冲的两颗宝石编号

Output

能收集的最多宝石数量

Sample Input Copy

6 8 

1 2

2 3

2 4

2 5

2 6

3 4

4 5

5 6​

Sample Output Copy

3