아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

모든 친구

시간 제한1초메모리 제한128 MB

요약
정점이 최대 128개인 무방향 그래프에서 극대 클리크의 개수를 세고, 개수가 1000을 넘으면 "Too many"를 출력한다.
난이도

어려움10점 중 8점

유형
그래프, 백트래킹, 완전 탐색, 조합론
정답자
아직 제출이 없습니다

문제

사회학자들은 "우정"이라는 현상에 관심이 있습니다. 이를 연구하기 위해 사람들의 여러 집단을 분석하는데, 한 집단 안의 두 사람마다 서로 친구인지 아닌지를 조사합니다. 친구 관계는 대칭적이라고 가정합니다. 즉 aa가 bb의 친구이면 bb도 aa의 친구입니다.

사회학자들이 주목하는 것은 친구 집합입니다. 사람들의 집합 SS 안에서 임의의 두 사람이 항상 서로 친구이면, SS를 친구 집합이라고 부릅니다. 이러한 집합은 그 수가 너무 많아 다루기 어렵기 때문에, 사회학자들은 극대 친구 집합만을 연구합니다. 친구 집합 SS가 극대라는 것은, SS를 여전히 친구 집합으로 유지하면서 어떤 사람도 더 추가할 수 없다는 뜻입니다. 다시 말해, SS에 속하지 않는 모든 사람은 SS의 구성원 중 적어도 한 명과는 친구가 아닙니다.

각 집단에 대해 극대 친구 집합의 개수를 구하세요. 만약 이 개수가 10001000을 초과하면, 그 집단은 연구하기에 너무 복잡하므로 그 사실만 보고하면 됩니다.

입력

입력은 여러 개의 집단(테스트 인스턴스)으로 이루어지며, 각 집단은 하나의 빈 줄로 구분됩니다.

각 집단의 첫 줄에는 두 정수 nn과 mm이 주어집니다 (1≤n≤1281 \le n \le 128). nn은 집단에 속한 사람의 수, mm은 친구 관계의 수입니다. 사람은 11번부터 nn번까지 번호가 매겨져 있습니다. 이어지는 mm개의 줄에는 각각 두 정수 aia_i와 bib_i가 주어지며 (1≤ai,bi≤n1 \le a_i, b_i \le n, ai≠bia_i \ne b_i), 이는 aia_i번과 bib_i번 사람이 친구임을 뜻합니다. 각 친구 관계는 최대 한 번만 주어집니다.

출력

각 집단마다 극대 친구 집합의 개수를 한 줄에 출력합니다. 만약 그 개수가 10001000을 초과하면, 대신 Too many maximal sets of friends. 를 한 줄에 출력합니다.

예제1

  1. 예제 1

    입력
    5 4
    1 2
    3 4
    2 3
    4 5
    
    예상 출력
    4