시부야 스크램블 교차로

아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

도쿄 시부야의 스크램블 교차로는 통행량이 많아 사람들이 서로 부딪히기로 유명하다. 이 교차로를 볼록 다각형으로 모형화하자. 횡단을 앞둔 nn명은 처음에 다각형 둘레의 아래쪽 절반에 있는 점에 서 있다. 신호가 바뀌면 각 사람은 둘레의 위쪽 절반에 있는 서로 다른 점을 향해 걷기 시작한다. 각자가 그리는 경로는 스파게티처럼 구불구불하고 자기 자신과 만나기도 하지만, 다각형 밖으로 나가지 않고 서로 다른 두 경로가 두 번 넘게 만나지도 않는다.

오스카는 근처 카페에서 이 교차로를 지켜본다. 가장 왼쪽에 선 사람부터 시작해 반시계 방향으로 11번부터 nn번까지 번호를 붙였다. 누가 어떤 경로로 갈지는 모르지만, 어떤 두 사람의 경로가 서로 교차하는지는 모두 알아냈다. 이 정보는 실제로 일어날 수 있는 배치와 모순되지 않는다.

머피의 법칙에 따라 부딪힐 수 있는 사람은 모두 실제로 부딪힌다. 즉 경로가 교차하는 두 사람은 반드시 서로 부딪힌다. nn명이 모두 횡단을 마쳤을 때, 구성원끼리 빠짐없이 서로 부딪힌 모임 중 가장 큰 것의 크기를 구하라.

첫 번째 예제에서 일어날 수 있는 상황을 그린 그림이다.

입력

첫째 줄에 교차로에 있는 사람 수 nn (1n8001 \le n \le 800)과 서로 교차하는 경로 쌍의 개수 mm (0m100000 \le m \le 10000)이 주어진다.

다음 mm개 줄에는 각각 두 정수 aabb (1a<bn1 \le a < b \le n)가 주어진다. 이는 aa번 사람의 경로와 bb번 사람의 경로가 서로 교차한다는 뜻이다. 같은 쌍이 두 번 주어지지는 않는다.

출력

구성원끼리 빠짐없이 서로 부딪힌 모임 중 가장 큰 것의 크기를 정수 하나로 출력한다.