View problem - 작은 사이클들 (YDX13_smallcycles)

Time limitMemory limit# of submissions# of submitted usersSolved #Accepted user ratio
2000 ms256 MiB74375.00%

승현이는 무방향 그래프 GG를 가지고 있습니다. 이 그래프는 아래 조건들을 만족합니다.

  • GG는 단순(simple) 그래프입니다. 즉, 루프 (자기 자신을 잇는 간선) 또는 중복 간선 (두 정점 사이에 간선이 2개 이상 있는 경우)가 존재하지 않습니다.
  • GG는 연결(connected) 그래프입니다.
  • GG는 길이가 적어도 4인 단순 사이클을 포함하지 않습니다. kk개의 서로 다른 정점들의 튜플 v1,v2,,vkv_{1}, v_{2}, \cdots, v_{k}이 "길이가 kk인 단순 사이클"이 될 조건은 각 ii에 대해 viv_{i}vi+1v_{i+1} 사이에 간선으로 연결되어 있어야 하고, v1v_{1}vkv_{k} 역시 간선으로 연결되어 있어야 합니다.

승현이가 위 조건을 만족하면서 GG에 추가할 수 있는 가장 많은 간선의 수를 구하는 프로그램을 작성하세요. 승현이는 어떤 두 정점의 쌍 사이에도 간선을 추가할 수 있습니다.

입력 형식

첫 번째 줄에는 두 개의 정수 VV (1V1051 \le V \le 10^{5})와 EE (0E1050 \le E \le 10^{5})가 공백을 사이로 두고 주어집니다. VVGG의 정점의 수이고, EEGG의 간선의 수입니다.

다음 EE개 줄에는 간선들의 정보가 주어집니다. 이 중 ii번째 줄에는 두 개의 정수 aia_{i}bib_{i}가 공백을 사이로 두고 주어집니다. (1ai<biV1 \le a_{i} < b_{i} \le V) aia_{i}bib_{i}ii번 간선이 잇는 두 정점의 번호입니다. 정점들은 11부터 VV까지 번호가 붙어 있습니다. 입력에서 주어지는 그래프는 위의 조건을 만족함은 보장됩니다.

출력 형식

승현이가 추가할 수 있는 가장 많은 간선의 수를 출력합니다.

예제

예제 1

입력

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

출력

3

예제 2

입력

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

출력

2