세상에는 특이한 사람이 많다. 그중에서도 우리가 가장 관심 있게 보는 쪽은 야만인이다.
야만인은 아주 많지만, 이 이야기에서 중요한 야만인은 N명이고 1번부터 N번까지 번호가 붙어 있다. 야만인마다 돌판이 하나씩 있고, 그 돌판에는 영어 소문자로만 이루어진 단어가 하나 새겨져 있다.
야만인은 친구 타잔과 게임을 한다. 게임은 Q개의 라운드로 진행되고, 각 라운드의 종류는 타잔이 정한다.
야만인은 쉽게 흥분해서 게임을 제대로 따라가지 못한다. 타잔의 질문마다 정답을 대신 구해 주자.
첫 줄에 야만인의 수 N (1≤N≤105)이 주어진다.
다음 N개의 줄에는 영어 소문자로만 이루어진 단어가 한 줄에 하나씩 주어진다. i번째 줄의 단어는 i번 야만인의 돌판에 새겨진 단어다.
그 다음 줄에 라운드의 수 Q (1≤Q≤105)가 주어진다.
이어지는 Q개의 줄은 각각 한 라운드를 설명한다. 각 줄은 정수 O로 시작한다.
O가 1이면 첫 번째 종류의 라운드이고, 같은 줄에 타잔이 보여 준 단어 P가 이어진다. P는 영어 소문자로만 이루어져 있다.
O가 2이면 두 번째 종류의 라운드이고, 같은 줄에 타잔이 질문한 야만인의 번호 S (1≤S≤N)가 이어진다.
돌판에 새겨진 단어의 길이를 모두 더한 값은 2×106을 넘지 않는다.
타잔이 보여 주는 단어의 길이를 모두 더한 값도 2×106을 넘지 않는다.
두 번째 종류의 라운드마다 한 줄에 답을 하나씩 출력한다. i번째 줄에는 i번째로 나온 두 번째 종류의 라운드에서 타잔이 한 질문의 답을 출력한다.
같은 단어를 여러 번 보여 주면 보여 준 횟수만큼 따로 센다. 돌판의 단어가 보여 준 단어 하나 안에서 여러 번 나타나도 그 단어는 한 번만 센다. 아직 보여 준 단어가 없으면 답은 0이다.
첫 번째 예제에서 타잔이 보여 준 단어는 abca뿐이다. 첫 질문의 답은 1이다. 단어 a는 abca의 부분 문자열이다. 두 번째 질문의 답도 1이다. 단어 abc도 abca의 부분 문자열이다.