Составление задач
문제
Для составления задач на очередное соревнование организаторы пригласили опытных участников этих же соревнований. Каждый из них знает некоторый набор задач. Участники любят делиться идеями задач, поэтому каждая задача может быть известна нескольким участникам. К сожалению, если участник знает хотя бы одну задачу из выбранного на соревнование комплекта, то он не может принять в нём участие.
Организаторы заинтересованы в массовости соревнования, поэтому они хотят выбрать задачи так, чтобы как можно больше участников могли принять в нём участие. При этом набор задач должен быть не пуст, и, по возможности, как можно больше.
Организаторы не являются программистами, поэтому испытывают проблемы с тем, чтобы набрать задачи требуемым образом, поэтому просят вас помочь им.
입력
В первой строке входных данных записаны три целых числа , и (, ; ) --- количество участников, задач и пар участник-задача, которую он знает, соответственно.
В следующих строках описаны задачи, которые известны участникам. В каждой строке записаны два целых числа и () --- номер участника и номер одной из известных ему задач. Гарантируется, что для каждого участника каждая известная ему задача описана ровно один раз.
출력
В первой строке выведите два числа и --- искомое количество участников и задач. Обратите внимание --- в первую очередь требуется максимизировать количество участников, а при максимальном числе участников --- количество задач.
Во второй строке выведите чисел --- номера задач в набранном комплекте. Все номера должны быть различными натуральными числами, не превосходящими . Если возможно несколько оптимальных решений, выведите любое.
힌트
В первом примере можно было также взять задачу с номером , поскольку ее знает один человек.
Во втором примере никто не знает задач с номерами и , поэтому лучше всего взять их.
예제
예제 1
3 4 6 1 1 1 2 2 2 2 3 3 3 3 4
2 1 1
예제 2
3 5 6 1 1 1 2 2 1 2 3 3 1 3 3
3 2 4 5