В славном городе Короткоречном в первый выходной весны традиционно проходит праздник цветов. Во время этого праздника жители носят традиционные венки. В традиционном венке ровно $$$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]$$$. Вторая заготовка подойдет Диане.
Во втором примере нельзя так оторвать цветки, чтобы всем достался венок, а у Дианы была бы подходящая для самого красивого венка заготовка.
В третьем примере Диана — единственный житель города, поэтому она может, например, оторвать все цветы, кроме нужных.
Название |
---|