문자열에 문자가 덧붙고 현재 문자열이 집합에 추가되는 과정에서, 저장된 문자열 중 현재 문자열의 접미사인 것의 개수를 묻는 질의에 답한다.
보통7문자열트라이아직 제출이 없습니다시간 제한0.5초메모리 제한256 MBK는 컴퓨터로 놀다가 이상한 게임을 하나 발견했다. 게임은 길이가 N인 문자열 S와 비어 있는 집합 T로 시작한다 (1≤N≤1000). 게임이 진행되는 동안 다음 세 가지 사건이 일어난다.
K는 고향 근처에 있는 유명한 성을 보러 가고 싶어 한다. K가 게임을 최대한 빨리 끝내도록 도와라.
첫째 줄에 정수 두 개 N과 E가 주어진다. N은 처음 문자열 S의 길이이고, E는 사건의 개수이다 (E≤1200000).
둘째 줄에 문자열 S가 주어진다. S는 알파벳 소문자 a-z로만 이루어져 있다.
이어지는 E개의 줄에 사건이 한 줄에 하나씩 주어진다. 각 줄은 사건의 종류를 나타내는 정수 p로 시작한다.
입력에 있는 종류 3의 사건마다 그 답을 정수로 한 줄에 하나씩 출력한다.
T는 집합이므로 같은 문자열을 여러 번 넣어도 하나만 들어 있다.
입력이 매우 크므로 빠른 입출력이 필요하다. C에서는 scanf와 printf를, C++에서는 읽기 전에 cin.tie(NULL); ios::sync_with_stdio(false);를, 자바에서는 BufferedReader와 BufferedWriter를 쓰면 된다.