Теория Рамсея

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

문제

Карта для Among Us представляет собой неориентированный граф, вершины которого --- комнаты, а рёбра --- двусторонние тоннели между ними. У разработчика этой игры, Рамсея, есть теория, что карта должна удовлетворять некоторым свойствам, чтобы на ней было интересно играть.

В игре будет kk предателей и ll рядовых членов экипажа. Если в графе есть ll-клика --- набор из ll вершин, каждая пара которых соединена ребром --- то члены экипажа просто распределятся между ними, и в случае убийства кого-то из них все игроки из соседних комнат незамедлительно сбегутся, обнаружат убийцу и накажут его. Такая игра будет довольно неинтересной.

С другой стороны, если в графе есть kk-антиклика --- набор из kk вершин, каждая пара которых не соединена ребром --- то предатели смогут встать в её вершины, заманивать хороших игроков и их там убивать, и, скорее всего, им удастся при этом оставаться незамеченными. Такая стратегия, по мнению Рамсея, тоже сделает игру неинтересной.

Напишите программу, которая найдёт в графе ll-клику или kk-антиклику или определит, что их в графе нет (и тогда игра обещает быть захватывающей).

입력

В первой строке находится четыре числа nn, mm, kk, ll, разделённых пробелами --- количество вершин и рёбер графа, а также размеры искомых антиклики и клики (1n300,0001 \le n \le 300\\,000; 0m300,0000 \le m \le 300\\,000; 1k,lmin(5,n)1 \le k, l \le \min(5, n)).

В следующих mm строках находится по два целых числа a_i,b_ia\_i, b\_i, разделённых пробелами --- концы очередного ребра графа (1a_i<b_in1 \le a\_i < b\_i \le n). Гарантируется, что все рёбра различны.

출력

Если вы нашли набор вершин, являющийся или kk-антикликой, или ll-кликой, выведите номера всех этих вершин через пробел. Если же такого набора вершин нет, выведите <<-1>>.

힌트

Первый пример выглядит как пятиугольник, в котором провели все стороны, но не провели диагоналей. В нём нет ни треугольников, ни антитреугольников, поэтому ответ <<-1>>.

Во втором и третьем примере граф пуст. Во втором примере требуется либо найти антиребро, либо 4-клику вершинах. Ответом послужит любая пара различных чисел от 1 до 4. В третьем примере всё наоборот --- надо найти либо 4-антиклику, либо ребро. Так как рёбер нет, единственным правильным ответом на этот пример является набор из всех чисел от 1 до 4 (перечисленных в произвольном порядке).

В четвёртом примере дан полный граф, и корректным ответом является любая четвёрка его вершин (так как она будет его кликой). Однако набор из одной вершины всегда является как кликой, так и антикликой; следовательно, раз в примере разрешено вывести 1-антиклику, любое одновершинное множество --- также корректный ответ.