#abc0024. [abc002_4]派閥

[abc002_4]派閥

问题描述

得到了神的馈赠,并且恢复了元音的高桥同学决定成为 AtCoder 国家,为了纠正腐败的政治局势,他决定当国会议员。
由于他在人心掌握术和演讲方面有一定的声誉,他毫不费力地当选了。
然而,真正的考验在于成为议员之后。为了纠正国家的问题,他需要被任命为首相。

AtCoder 国家有除了高桥同学以外的 NN 名国会议员,以及 MM 个人际关系 (x,y)(x,\\ y)。 人际关系 (x,y)(x,\\ y) 意味着议员 xx 和议员 yy 之间是认识的关系。 高桥同学打算从这 NN 名议员中选择一些人来组建派系。 所有属于同一个派系的议员必须互相认识。 请编写一个程序来计算高桥同学可以创建的最大派系中的议员人数。


输入

输入是从标准输入中以以下格式给出的。NN MM x1x_1 y1y_1 x2x_2 y2y_2 : xMx_M yMy_M

  1. 第一行包含除高桥同学以外的国会议员数量 N(1N12)N\\ (1≦N≦12) 以及人际关系数量 MM (0MN(N1)/2)(0≦M≦N(N-1)/2),两个数之间用一个空格分隔。
  2. 接下来的 MM 行(从第二行到第 M+1M+1 行)给出了 MM 个人际关系。
  • 每个议员都被编号为从 11NN 的整数。
  • i(1iM)i\\ (1≦i≦M) 行相对于第二行,表示议员 xix_i 和议员 yiy_i 是认识的关系。
  • xix_iyiy_i 都是整数,并且满足 1xi<yiN1 ≦ x_i < y_i ≦ N
  • 可以保证当 iji≠j 时,(xi,yi)(xj,yj)(x_i,\\ y_i)≠(x_j,\\ y_j)

输出

请将高桥同学可以创建的最大派系中的议员人数以一行输出。 输出末尾要包含换行符。


示例输入1


5 3
1 2
2 3
1 3
  • 第一行:有 55 个议员和 33 个人际关系。
  • 第二行:议员 11 和议员 22 是认识的关系。
  • 第三行:议员 22 和议员 33 是认识的关系。
  • 第四行:议员 11 和议员 33 是认识的关系。

示例输出1


3
  • 议员 11、议员 22、议员 33 互相认识,所以他们可以组成一个派系。

示例输入2


5 3
1 2
2 3
3 4

示例输出2


2
  • 作为派系的议员人数为 22,有以下 33 种可能:

    1. 议员 11 和议员 22 的派系
    2. 议员 22 和议员 33 的派系
    3. 议员 33 和议员 44 的派系

示例输入3


7 9
1 2
1 3
2 3
4 5
4 6
4 7
5 6
5 7
6 7

示例输出3


4

示例输入4


12 0

示例输出4


1