아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Любимая строка

시간 제한2초메모리 제한1024 MB

요약
문자열 s를 같은 길이의 m개 조각으로 나눈 뒤 주어진 m개 조각을 재배열해 s를 만들고, 각 위치에 놓인 조각의 번호를 출력한다.
난이도

보통10점 중 6점

유형
문자열, 해시맵, 정렬, 문자열 매칭
정답자
아직 제출이 없습니다

문제

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

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

입력

В первой строке входного файла даны два числа nn и mm (1≤n,m≤1061 \le n, m \le 10^6) --- длина строки и количество кусков соответственно. Во второй строке входного файла дана строка ss (1≤∣s∣≤1061 \le |s| \le 10^6) --- строка, которую необходимо получить. В ii-й из следующих mm строк дана строка t_it\_i --- описание ii-го куска исходной строки. Гарантируется, что nn делится на mm и из данных кусков можно составить исходную строку.

출력

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

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

예제1

  1. 예제 1

    입력
    12 3
    cabacaqwerty
    erty
    caba
    caqw
    
    예상 출력
    2 3 1