굉장한 모비스터디
시간 제한1초메모리 제한256 MB
같은 직원 N명에 대한 세 개의 무방향 그래프에서, 세 번 모두 같은 연결 요소를 이루고 외부 직원과는 어떤 스터디에서도 연결되지 않은 모임을 모두 찾아 출력한다.
문제
현대 모비스는 직원들이 소프트웨어 직무 교육을 이수할 수 있는 소프트웨어 아카데미를 2018년부터 운영하고 있다.
이 소프트웨어 아카데미에서는 총 세 번의 수업이 진행된다. 더 효과적인 학습을 위해 아카데미를 다니고 있는 명의 직원들은 매 수업이 끝난 후 스터디를 진행하고자 한다.
스터디를 같이하는 구성원은 매 수업이 끝난 후 두 직원 간의 합의로 이루어진다. 만약 번 직원과 번 직원이 합의하였다면, 두 직원은 같이 스터디를 하게 된다. 이때 스터디를 같이 하는 직원들의 2명 이상의 모임을 모비스터디라고 한다. 번 직원과 번 직원이 합의했고 번 직원과 번 직원 또한 합의했다면, , , 번 직원은 모두 같은 모비스터디이다.
굉장한 모비스터디를 다음과 같이 정의하자.
- 어떤 직원들이 세 번의 스터디에서 모두 같은 모비스터디에 속하고,
- 그 외의 직원들 중 어떤 직원도 이 모비스터디에 속한 직원들과 세 번의 스터디 모두를 같이 하지 않았다면
이 모비스터디는 굉장한 모비스터디다.
굉장한 모비스터디를 찾자.
입력
첫째 줄에는 아카데미를 다니고 있는 직원의 수 이 주어진다.
둘째 줄에는 세 번의 스터디에서 이루어진 합의의 수 가 공백으로 구분되어 주어진다.
이후 개의 줄에는 첫 번째 스터디에서 합의한 서로 다른 두 직원의 번호 와 가 공백을 두고 주어진다.
이후 개의 줄에는 두 번째 스터디에서 합의한 서로 다른 두 직원의 번호 와 가 공백을 두고 주어진다.
이후 개의 줄에는 세 번째 스터디에서 합의한 서로 다른 두 직원의 번호 와 가 공백을 두고 주어진다.
입력으로 주어지는 모든 값은 정수다.
출력
첫 번째 줄에는 굉장한 모비스터디의 수 를 출력한다.
이후 개의 줄에 걸쳐 굉장한 모비스터디에 포함된 직원들의 번호를 출력한다.
출력 형식은 다음과 같다.
- 서로 다른 굉장한 모비스터디의 경우 포함된 직원의 최소 번호가 더 작은 굉장한 모비스터디가 먼저 출력되어야한다.
- 예를 들어 두 굉장한 모비스터디가 각각 \left\\{3,4 \right\\}와 \left\\{1,2,5\right\\}라면 \left\\{1,2,5\right\\}가 먼저 출력되어야 한다.
- 같은 굉장한 모비스터디에 속한 직원들의 번호가 오름차순으로 정렬되어있어야 한다.
- 예를 들어 어떤 굉장한 모비스터디가 \left\\{3,2,6\right\\}이라면 \left\\{ 2,3,6 \right\\}과 같이 출력되어야 한다.