만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

리슐리외의 사열

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

요약
t에서 길이 j인 부분 문자열을 하나 지운 뒤, 남은 문자열을 접두사로 갖는 s_i의 최대 개수를 j마다 구합니다.
난이도

어려움10점 중 8점

유형
문자열 매칭, 트라이, 문자열
정답자
아직 제출이 없습니다

문제

리슐리외 추기경이 오늘 근위병들을 정렬하기로 했다. 연병장에는 nn개의 대열이 있다. 대열의 각 근위병은 어떤 색의 제복을 입고 있다. 제복 색은 총 26가지이며, 각 색은 라틴 알파벳의 한 글자로 나타낸다.

각 대열은 문자열 sis_i로 주어진다. 문자열의 시작이 대열의 앞, 문자열의 끝이 대열의 뒤이다.

추기경은 여러 번의 시범 행진을 계획했다. 리슐리외는 행진을 구성할 때 문자열 tt를 사용한다. 행진은 모두 kk번 열리며, 다음과 같이 진행된다. jj번째 행진에서 리슐리외는 tt에서 길이가 jj인 부분 문자열 하나를 지우고, 남은 문자열을 tjt_j라고 적는다. 그다음 접두사가 tjt_j와 같은 모든 대열을 고르고, 이 대열들이 jj번째 행진에 참여한다.

입력

첫 줄에 소문자 라틴 알파벳으로 이루어진 문자열 tt가 주어진다 (1≤∣t∣≤1051 \le |t| \le 10^5).

둘째 줄에 두 자연수 nn, kk가 주어진다 (1≤n≤1051 \le n \le 10^5, 1≤k<∣t∣1 \le k < |t|). nn은 대열의 수, kk는 행진의 수이다.

이어지는 nn개의 줄에 각 대열의 문자열 sis_i가 주어진다. 빈 문자열이 아니며 소문자 라틴 알파벳으로 이루어져 있다.

모든 sis_i의 길이 합은 10510^5을 넘지 않는다.

출력

한 줄에 kk개의 정수를 출력한다. jj번째 수는 jj번째 행진에 참여할 수 있는 대열의 최대 개수이다.

예제2

  1. 예제 1

    입력
    abcdef
    3 3
    abcefx
    abcdfab
    abcdf
    
    예상 출력
    2 2 3
    
  2. 예제 2

    입력
    abcab
    3 4
    aaba
    aabz
    ad
    
    예상 출력
    0 2 0 3