A. Диана и Лиана
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В славном городе Короткоречном в первый выходной весны традиционно проходит праздник цветов. Во время этого праздника жители носят традиционные венки. В традиционном венке ровно $$$k$$$ цветов.

Заготовки для венков на всех $$$n$$$ жителей города Короткоречный нарезают из самой длинной лианы с цветами, которая выросла в городе в этом году. Лиана — это последовательность $$$a_1$$$, $$$a_2$$$, ..., $$$a_m$$$, где $$$a_i$$$ — целое число, обозначающее вид цветка на позиции $$$i$$$. В этом году короткореченцам повезло: лиана выросла такая длинная, что $$$m \ge n \cdot k$$$, а это значит, что каждому жителю города достанется по венку.

Очень скоро лиану вставят в специальную машину, которая нарежет её на заготовки для венков. Машина работает просто: отрезает от начала лианы первые $$$k$$$ цветков, затем вторые $$$k$$$ цветков и так далее. Каждый получившийся отрезок из $$$k$$$ цветов называется заготовкой. Машина продолжает работу, пока оставшаяся части лианы содержит хотя бы $$$k$$$ цветов.

Диана нашла схему для плетения самого красивого венка. Для плетения такого венка среди $$$k$$$ цветов должны быть цветы видов $$$b_1$$$, $$$b_2$$$, ..., $$$b_s$$$, а остальные могут быть любыми. Если некоторый вид встречается в этой последовательности несколько раз, то цветов этого вида должно быть хотя бы столько, сколько раз этот вид встречается в последовательности. Порядок, в котором эти цветы будут в заготовке, не важен.

Перед тем как лиану вставят в машину для нарезки, у Дианы есть возможность оторвать от неё часть цветов. Отрывать можно любые цветы, в том числе из середины лианы, при этом лиана не распадается на части. Если Диана оторвёт слишком много цветов, то кому-то из жителей не достанется венок. Можно ли оторвать от лианы часть цветов так, чтобы хотя бы одна из заготовок соответствовала схеме Дианы, но при этом машина по-прежнему могла нарезать хотя бы $$$n$$$ заготовок?

Входные данные

В первой строке находятся четыре целых числа $$$m$$$, $$$k$$$, $$$n$$$ и $$$s$$$ ($$$1 \le n, k, m \le 5 \cdot 10^5$$$, $$$k \cdot n \le m$$$, $$$1 \le s \le k$$$): количество цветов на лиане, количество цветов в одном венке, количество жителей и длина последовательности видов цветов в схеме Дианы, соответственно.

Во второй строке находятся $$$m$$$ целых чисел $$$a_1$$$, $$$a_2$$$, ..., $$$a_m$$$ ($$$1 \le a_i \le 5 \cdot 10^5$$$) — виды цветов на лиане.

В третьей строке находятся $$$s$$$ целых чисел $$$b_1$$$, $$$b_2$$$, ..., $$$b_s$$$ ($$$1 \le b_i \le 5 \cdot 10^5$$$) — последовательность в схеме Дианы.

Выходные данные

Если невозможно оторвать часть цветов от лианы так, чтобы после нарезки получилось хотя бы $$$n$$$ заготовок для венков, и хотя бы одна из них соответствовала схеме Дианы, то выведите $$$-1$$$.

Иначе в первой строке выведите одно целое число $$$d$$$ — количество цветов, которые нужно оторвать.

В следующей строке выведите $$$d$$$ различных целых чисел — номера цветов, которые нужно оторвать.

Если есть несколько решений, выведите любое.

Примеры
Входные данные
7 3 2 2
1 2 3 3 2 1 2
2 2
Выходные данные
1
4 
Входные данные
13 4 3 3
3 2 6 4 1 4 4 7 1 3 3 2 4
4 3 4
Выходные данные
-1
Входные данные
13 4 1 3
3 2 6 4 1 4 4 7 1 3 3 2 4
4 3 4
Выходные данные
9
1 2 3 4 5 9 11 12 13
Примечание

В первом примере если не отрывать ни одного цветка, то машина выдаст две заготовки, виды цветов в которых будут $$$[1, 2, 3]$$$ и $$$[3, 2, 1]$$$. Видно, что это Диане не подходит. Если же убрать цветок с номером $$$4$$$, то машина выдаст заготовки $$$[1, 2, 3]$$$ и $$$[2, 1, 2]$$$. Вторая заготовка подойдет Диане.

Во втором примере нельзя так оторвать цветки, чтобы всем достался венок, а у Дианы была бы подходящая для самого красивого венка заготовка.

В третьем примере Диана — единственный житель города, поэтому она может, например, оторвать все цветы, кроме нужных.