시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
학생들이 너무 시끄럽게 떠들자, 학원장은 반을 나누기로 했다.
학생들은 친한 친구와 떨어지는 것을 싫어해 강하게 반발했다. 이를 달래기 위해, 서로 다른 반에 있어도 인터넷 메신저로 대화할 수 있게 허락했다.
두 학생이 메신저로 대화하려면 두 사람이 서로의 메신저 아이디를 알고 있어야 한다. 모든 학생 쌍이 서로의 아이디를 알고 있는 것은 아니다.
학원장은 가능한 한 많은 반을 만들고 싶다. 서로 다른 반에 속한 두 학생은 반드시 서로의 메신저 아이디를 알고 있어야 한다.
어떤 학생 쌍이 서로의 메신저 아이디를 알고 있는지 주어질 때, 만들 수 있는 반의 최대 개수와 그때의 각 반 인원수를 구하라.
첫째 줄에 학생 수 n과 서로의 메신저 아이디를 알고 있는 학생 쌍의 수 m이 공백으로 구분되어 주어진다. (2 ≤ n ≤ 100,000, 1 ≤ m ≤ 2,000,000)
다음 m개의 줄에는 서로의 메신저 아이디를 알고 있는 두 학생 번호 a, b가 주어진다. 학생 번호는 1 이상 n 이하의 정수이다.
첫째 줄에 만들 수 있는 반의 최대 개수를 출력한다.
둘째 줄에는 그때 각 반의 인원수를 오름차순으로 출력한다.
공개 테스트에서는 4번 학생을 혼자 한 반으로, 5번과 7번 학생을 한 반으로, 나머지 네 명을 한 반으로 두면 된다.