만드는 중입니다

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

가채점

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

요약
학생이 기억한 문자열이 읽은 답안의 끝과 맞으면 그 학생의 점수가 B만큼 오릅니다. 점수가 A 이상이 되는 첫 문항 번호를 구합니다.
난이도

보통10점 중 7점

유형
문자열 매칭, 트라이, 누적 합, 이분 탐색
정답자
아직 제출이 없습니다

문제

POSTECH의 객관식 시험은 26지선다형이며 문항은 NN개다. 보기는 A부터 Z까지 26개의 알파벳 대문자다. 첫 번째 문항부터 마지막 문항까지의 정답 알파벳을 차례로 나열한 문자열이 길이 NN의 정답 문자열 SS다.

시험에 참가한 MM명의 학생은 모든 문제의 답을 제출했다. 학생들은 제출한 답을 전부 기억하지는 못한다. ii번째 학생은 제출한 답 중 연속한 LiL_i개를 기억하고, 이를 순서대로 나열한 문자열이 TiT_i다.

시험이 끝난 뒤 학생들은 기억하는 답 문자열 TiT_i와 공개된 정답 문자열 SS를 비교해 가채점을 한다. SS의 문자를 앞에서부터 하나씩 불러 나갈 때, 학생들의 자신감은 다음 규칙에 따라 오른다.

  1. 모든 학생의 초기 자신감은 00이다.
  2. 지금까지 불린 정답 문자열의 길이 LiL_i인 접미사가 TiT_i와 순서대로 일치하면, ii번째 학생의 자신감이 양의 정수 BiB_i만큼 오른다.
  3. LiL_i개 미만의 정답이 불렸을 때는 ii번째 학생의 자신감이 오르지도 내리지도 않는다. 자신감의 상승은 서로 독립적이다. 따라서 TiT_i가 SS의 앞부분 다른 곳과 일치하는지, 다른 학생의 TjT_j와 일치하는지와 관계없이, 최근 LiL_i개가 TiT_i와 일치하기만 하면 오른다.

MM명의 학생 중 누구든 자신감이 AA 이상이 되면 이 가채점이 유효했다고 본다. 가채점을 몇 번째 문항까지 진행했을 때 처음으로 자신감이 AA 이상인 학생이 나타나는지 구하라.

입력

첫 번째 줄에 올해 퀴즈의 문항 수 NN, 시험을 응시한 학생 수 MM, 정수 AA가 주어진다. (1≤N≤10000001 \leq N \leq 1000000, 1≤M≤1000001 \leq M \leq 100000, 1≤A≤10151 \leq A \leq 10^{15})

다음 줄에 올해 시험의 정답 문자열 SS가 주어진다. SS는 대문자 알파벳으로만 이루어져 있다.

이후 MM개 줄에 걸쳐 각 줄에 LiL_i, BiB_i, TiT_i가 공백으로 구분되어 주어진다. (1≤Li≤N1 \leq L_i \leq N, 1≤Bi≤1091 \leq B_i \leq 10^9) TiT_i는 대문자 알파벳으로만 이루어져 있다. 모든 LiL_i의 합은 1000000 이하임이 보장된다. 서로 다른 학생의 TiT_i가 같을 수도 있다.

출력

최초로 MM명의 학생 중 자신감이 AA 이상이 되는 학생이 나타나는 문항 번호를 출력하라. NN개의 답을 모두 불러도 자신감이 AA 이상인 학생이 나타나지 않으면 Fail을 출력하라.

예제2

  1. 예제 1

    입력
    17 2 13
    COCOCOCOCOCOCOCOA
    4 3 COCO
    3 2 OCO
    
    예상 출력
    12
    
  2. 예제 2

    입력
    13 2 100
    FAILEDTHEEXAM
    13 998244353 SLEEPEVERYDAY
    9 100000007 IDONTCARE
    
    예상 출력
    Fail