Hide

Problem B
Another Substring Query Problem

You are given a string $s$ and several queries.

Each query consists of a string $t$ and an integer $k$. For each query, determine the $k^{th}$ position in $s$ where a substring matching $t$ starts. If $t$ occurs fewer than $k$ times in $s$, print $-1$.

Input

The first line of input contains a single string $s$ ($1 \le |s| \le 2 \cdot 10^5$), which is the queriable string. It will consist only of lower-case letters.

The next line of input contains a single integer $q$ ($1 \le q \le 2 \cdot 10^5$), which is the number of queries that follow.

Each of the next $q$ lines contains a string $t$ ($1 \le |t|$) and an integer $k$ ($1 \le k \le |s|$). This represents a query for the $k^{th}$ occurrence of $t$ in $s$. The string $t$ will consist only of lower-case letters. The sum of all $|t|$’s will be $\le 2 \cdot 10^5$

Output

Output a single integer, which is the position of the start of the $k^{th}$ occurrence of $t$ in $s$, or $-1$ if $t$ occurs fewer than $k$ times in $s$. The first character in $s$ is at position $1$.

Sample Input 1 Sample Output 1
abacabadabacaba
4
a 7
e 3
bac 2
abada 1
13
-1
10
5

Please log in to submit a solution to this problem

Log in