파티

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

문제

바이트아사르(Byteasar)는 파티를 열려고 한다. 당연히 파티가 성공적이길 바란다. 그는 초대한 손님이 모두 서로 아는 사이이기만 하면 파티가 성공한다고 확신한다. 지금 그는 초대하고 싶은 친구 목록을 짜고 있다.

바이트아사르에게는 친구가 nn명 있고, nn33의 배수이다. 다행히 그의 친구들은 대부분 서로 아는 사이다. 또한 그는 예전에 자신의 친구 23n\frac{2}{3}n명이 모인 파티에 참석한 적이 있는데, 그 자리에 있던 사람들은 모두 서로 아는 사이였다는 사실을 기억한다. 아쉽게도 그 파티에 대해 그 밖의 것은 잘 기억나지 않는다. 특히 어떤 친구들이 그 자리에 있었는지는 전혀 모른다.

바이트아사르는 굳이 큰 파티를 열 생각은 없지만, 최소한 친구 n3\frac{n}{3}명은 초대하고 싶다. 어떻게 골라야 할지 몰라 당신에게 도움을 청한다. 즉, 서로 모두 아는 사이인 친구 n3\frac{n}{3}명을 찾아야 한다.

입력

첫째 줄에 두 정수 nnmm이 공백 하나로 구분되어 주어진다 (3n30003 \le n \le 3\,000, 23n(23n1)2mn(n1)2\frac{\frac{2}{3}n\left(\frac{2}{3}n-1\right)}{2} \le m \le \frac{n(n-1)}{2}, 그리고 nn33의 배수). 각각 바이트아사르의 친구 수와, 서로 아는 친구 쌍의 수를 뜻한다. 친구들은 11번부터 nn번까지 번호가 매겨져 있다.

이어지는 mm개의 줄에는 각각 공백으로 구분된 두 정수가 주어진다. i+1i+1번째 줄(i=1,2,,mi=1,2,\dots,m)의 두 수 aia_ibib_i (1ai<bin1 \le a_i < b_i \le n)는 aia_i번과 bib_i번 두 사람이 서로 아는 사이임을 뜻한다. 같은 쌍은 입력에 많아야 한 번 등장한다.

출력

조건을 만족하는 친구 무리는 여러 가지일 수 있으므로, 답이 유일하게 정해지도록 아래의 결정적 절차로 초대 목록을 만든다.

빈 초대 목록에서 시작한다. 친구를 11번부터 nn번까지 차례대로 살펴본다. 친구 vv를 살펴볼 때:

  • 친구 vv가 현재 초대 목록에 있는 모든 사람과 서로 아는 사이라면, vv를 목록에 추가한다.
  • 그렇지 않다면, 목록에 있는 사람 중 vv와 모르는 사이인 가장 번호가 작은 사람을 목록에서 빼고, vv는 추가하지 않는다.

친구 nn명을 모두 살펴보고 나면, 목록에 남은 사람들은 서로 모두 아는 사이이며 그 수는 최소 n3\frac{n}{3}명이다. 최종 초대 목록에서 번호가 가장 작은 n3\frac{n}{3}명을, 한 줄에 오름차순으로 공백 하나씩 구분하여 출력한다.

힌트

예시 그래프에서 1,3,4,51, 3, 4, 5번 친구는 서로 모두 아는 사이다. 위 절차를 11번부터 차례로 적용하면 최종 초대 목록으로 {3,4}\{3, 4\}가 남고, 따라서 3 4를 출력한다.