연고전/고연전

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

문제

연세대와 고려대가 레이저 건을 이용한 서바이벌 팀전 게임을 진행하고 있다. 현재 연세대 팀은 NN명, 고려대 팀은 MM명이 남은 상태다.

고려대 팀은 연세대 팀을 기습하면서 고려대 팀이 유리한 상황을 만들려고 하고 있다. 각 고려대 팀원 별로 기습을 하면 어느 연세대 팀원을 탈락시킬 수 있는 관계 KK개가 주어진다. 고려대 팀은 팀원 일부를 선별해서 기습 작전을 진행하려고 한다. 선별한 인원들로 기습 작전을 진행하면, 해당 인원들이 탈락시킬 수 있는 연세대 팀원들은 전부 탈락하게 된다. 그러나 기습 작전에 참여한 고려대 팀원들도 같이 탈락하게 된다.

그러나 고려대 팀에는 빨간 머리로 염색한 국렬이가 스파이로 잠입하고 있었다. 그러나 고려대 팀은 그걸 눈치채지 못했다! 국렬이는 인원 선별에 대한 권한을 가지고 있고, 이 작전을 엉망으로 만들기 위해서 (남은 연세대 팀원) - (남은 고려대 팀원)의 값이 최대가 되도록 인원들을 선발할 것이다. 단, 현재 기습 작전을 취소한다면 스파이로 의심받을 수 있기에 고려대 팀원을 최소 한 명 선택해서 기습 작전을 진행해야 한다. (남은 연세대 팀원) - (남은 고려대 팀원)의 값이 최대가 되도록 국렬이를 잘 도와주자.

입력

첫째 줄에 세 정수 NN, MM, KK가 공백으로 구분되어 주어진다.

이후 KK개의 줄에 걸쳐 팀원을 탈락시킬 수 있는 관계가 주어진다. i+1i+1번째 줄에는 두 정수 u_iu\_i, v_iv\_i가 공백으로 구분되어 주어진다. (1iK1 \le i \le K)

u_iu\_i번 고려대 팀원이 v_iv\_i번 연세대 팀원을 탈락시킬 수 있음을 의미한다. 팀원의 번호는 11번부터 매겨진다.

같은 관계는 최대 한번만 주어진다.

출력

첫 번째 줄에 선발해야 하는 인원수를 출력한다.

그 다음 줄에 선발해야 하는 사람들을 공백으로 구분하여 출력한다.

단, 정답이 여러 가지인 경우 그중 아무거나 출력하면 된다.

제한

  • 1N,M1001 \leq N, M \leq 100
  • 1KNM1 \leq K \leq NM
  • 1u_iM1 \le u\_i \le M (1iK1 \le i \le K)
  • 1v_iN1 \le v\_i \le N (1iK1 \le i \le K)