AT_s8pc_5_h Percepts of Atcoder

Description

[problemUrl]: https://atcoder.jp/contests/s8pc-5/tasks/s8pc_5_h E869120 は, 文字列を square1001 に今年から $ Q $ 年間, 毎年プレゼントすることにした. 彼は, 文字列 $ S $ が大好きであった. そのため, プレゼントする文字列は, 文字列 $ S $ から取ることに決めた. また, 古から伝わる, AtCoder 社の教えに基づいて, プレゼントする文字列を決めることにした. AtCoder 社の教えは, 以下のようなものである. - 友達に文字列をプレゼントするときは, 以下の方法で文字列を決めなさい. ここでは, あなたの大好きな文字列を $ S $ とおく. - 文字列 $ S $ の部分列の集合を $ T $ とおく. ただし, 文字列 $ S $ の部分列とは, $ S $ から $ 0 $ 個以上の文字を取り去ってできた $ 1 $ 文字以上の長さの文字列のことを指す. - 部分列の集合 $ T $ を辞書順でソートしたときに, $ K $ 番目となる文字列をプレゼントするべきである. 例えば, 大好きな文字列が `aqua` である場合, $ T $ は \[`a`,`aa`,`aq`,`aqa`,`aqu`,`aqua`,`au`,`aua`,`q`,`qa`,`qu`,`qua`,`u`,`ua`\] となる. $ K=10 $ のとき, 辞書順で $ 10 $ 番目となる `qa` をプレゼントするべきである. しかし, $ K $ の値は年ごとに変わってしまう. そこで, $ i $ 年目の $ K $ の値 $ K_i $ が与えられるので, 各年ごとのプレゼントすべき文字列の最後の $ p_i $ 文字を求めてほしい.

Input Format

入力は以下の形式で標準入力から与えられる. > $ S $ $ Q $ $ K_1 $ $ p_1 $ $ K_2 $ $ p_2 $ $ K_3 $ $ p_3 $ ... $ K_Q $ $ p_Q $

Output Format

$ Q $ 行出力すること. $ i $ 行目には, $ i $ 年目にプレゼントすべき文字列の最後の $ p_i $ 文字を出力すること. **ただし, 該当する文字列が存在しない場合 "-1" と出力せよ.** **また, プレゼントすべき文字列が $ p_i $ 文字未満の場合, プレゼントすべき文字列をそのまま出力せよ. 例えば, プレゼントすべき文字列が "abcde" であり, $ p_i=7 $ のとき, この行には "abcde" と出力すること.**

Explanation/Hint

### 制約 - $ Q $ は $ 1 $ 以上 $ 100\ 000 $ 以下の整数. - $ S $ は英小文字から成る, $ 1 $ 文字以上 $ 300\ 000 $ 文字以下の文字列. - $ p_i $ は $ 1 $ 以上 $ |S| $ 以下の整数. - $ p_1+p_2+...+p_Q\ \leq\ 1\ 000\ 000 $ - $ K_i $ は $ 1 $ 以上 $ 10^{18} $ 以下の整数. ### 小課題 小課題 $ 1 $ \[$ 210 $ 点\] - $ Q=1 $ を満たす. 小課題 $ 2 $ \[$ 320 $ 点\] - $ K_i\ \leq\ 1\ 000\ 000 $ を満たす. 小課題 $ 3 $ \[$ 870 $ 点\] - 追加の制約はない. ### Sample Explanation 1 問題文の例の通りです. ### Sample Explanation 2 $ 2 $ 個目のクエリにおいて, "tourist" の後ろ $ 4 $ 文字は "rist" なので, これを出力すること.