신들
시간 제한2초메모리 제한1024 MB
n명의 신을 두 줄로 나눠, 다투는 두 신이 같은 줄에 서지 않고 공격선이 서로 교차하지 않도록 배치합니다. 불가능하면 -1을 출력합니다.
문제
아스가르드의 한 연회에서 신들이 서로 이야기를 나누었다. 술기운에 신들은 결국 말다툼을 벌였다. 싸움이 시작되려 하자 신들은 말다툼한 상대하고만 싸우고 싶었고, 다른 신과 다투는 것은 원하지 않는다는 사실을 깨달았다.
아스가르드에서 가장 영리한 신인 오딘은 신들이 서로 마주 보는 두 줄로 서면 편리하겠다고 생각했다. 말다툼한 두 신이 같은 줄에 서지 않게 하자는 뜻이다. 토르는 아버지의 생각을 발전시켜 '공격선'이라는 개념을 도입했다. 공격선은 말다툼한 두 신의 위치를 잇는 선분이다. 토르는 여기에 더해, 서로 다른 신들의 공격선이 교차하지 않으면 더 편리하다고 제안했다. 그래야 싸움 도중 신들끼리 서로 부딪히지 않기 때문이다. 모든 신이 이 제안에 찬성했다. 이제 자리만 정하면 싸움을 시작할 수 있다.
미드가르드의 명예 시민인 당신이 신들을 도울 차례다. 토르의 개선안이 성립하도록 신들을 두 줄로 나누는 프로그램을 작성하라.
입력
첫 줄에 아스가르드의 신의 수 ()이 주어진다. 이어지는 개의 줄에는 각각 개의 정수가 주어진다. 첫 정수는 ()이며, 신 와 말다툼한 신의 수이다. 그 뒤에 말다툼한 신들의 번호가 이어진다. 신 가 신 와 말다툼했다면 신 도 신 와 말다툼한 것이다. 모든 의 합은 을 넘지 않는다.
출력
해가 존재하면 첫 줄에 첫 번째 줄의 신의 수 과 두 번째 줄의 신의 수 를 출력한다. 다음 두 줄에는 첫 번째 줄과 두 번째 줄의 신 번호를 왼쪽에서 오른쪽 순서대로 출력한다. 해가 없으면 을 출력한다.