시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB44241957.576%

문제

В очередной раз копаясь в гараже Вилли, Альф нашел строку, которую, судя по всему, хозяин гаража мастерил с особым усердием. Любознательный пришелец, как обычно, не растерялся и решил поиграть с этой строкой. Он разломал ее на $k$ частей одинаковой длины и разбросал по всему гаражу. Вилли, увидев что случилось с его строкой, пришел в ярость. Свою злость он выместил на Альфе, приказав ему склеить строку обратно. К счастью для пришельца, у Вилли нашелся чертеж этой строки.

Помогите Альфу воссоздать строку по кускам и чертежу!

입력

В первой строке входного файла даны два числа $n$ и $m$ ($1 \le n, m \le 10^6$) --- длина строки и количество кусков соответственно. Во второй строке входного файла дана строка $s$ ($1 \le |s| \le 10^6$) --- строка, которую необходимо получить. В $i$-й из следующих $m$ строк дана строка $t_i$ --- описание $i$-го куска исходной строки. Гарантируется, что $n$ делится на $m$ и из данных кусков можно составить исходную строку.

출력

В единственной строке выходного файла выведите $m$ различных целых чисел $a_i$ ($1 \le a_i \le m$), таких, что если заменить число на $i$-й позиции куском с номером $a_i$ и склеить получившиеся куски, получится исходная строка.

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

예제 입력 1

12 3
cabacaqwerty
erty
caba
caqw

예제 출력 1

2 3 1