소 베시가 새 휴대폰을 장만하고 문자 메시지를 즐겨 보낸다. 그런데 발굽이 커서 작은 화면을 정확히 누르기 어렵다 보니 오타가 잦다. 농부 존은 단어의 앞부분만 받아 뒤를 채워 주는 자동 완성 앱을 만들어 베시를 돕기로 했다.
앱은 사전 하나를 참조한다. 사전에는 단어 W개가 들어 있고, 각 단어는 소문자 a부터 z까지로만 이루어진다. 사전에 있는 모든 단어의 글자 수를 더하면 1,000,000 이하이다.
앱이 처리할 질의는 N개이다(1≤N≤10000). 질의 하나는 접두 단어 하나와 정수 Ki로 이루어진다. 접두 단어도 소문자로만 이루어지고 길이는 1 이상 1,000 이하이며, Ki는 1 이상의 정수이다. 앱은 i번째 접두 단어를 접두사로 갖는 사전 단어를 모두 모아 사전순으로 늘어놓은 뒤, 그중 Ki번째 단어를 찾아야 한다. 이 단어를 i번째 접두 단어의 Ki번째 완성이라고 하자.
첫째 줄에 정수 W와 N이 주어진다.
다음 W개의 줄에는 사전의 단어가 한 줄에 하나씩 주어진다. 이 중 i번째 줄에 적힌 단어가 사전의 i번째 단어이다.
다음 N개의 줄에는 정수 Ki와 접두 단어가 공백 하나를 사이에 두고 주어진다.
N개의 줄을 출력한다. i번째 줄에는 i번째 접두 단어의 Ki번째 완성이 사전에서 몇 번째 단어인지를 1 이상 W 이하의 정수로 출력한다. 완성이 Ki개보다 적으면 대신 -1을 출력한다.
같은 단어가 사전에 여러 번 들어 있으면 사전순만으로는 순서를 가릴 수 없다. 이때는 사전에 먼저 나온 쪽을 앞선 완성으로 센다.
첫 번째 예제에서 a의 완성은 aa, aaa, aab, ab, abc, ac이다. 네 번째 완성은 ab이고 사전의 셋째 줄에 있다. da의 완성은 daa, dab, dadba이므로 두 번째 완성은 dab이고 사전의 첫째 줄에 있다. da의 완성은 셋뿐이라서 네 번째 완성은 없다.