AT_jag2017summer_day1_f 極小部分列
Description
[problemUrl]: https://atcoder.jp/contests/jag2017summer-day1/tasks/jag2017summer_day1_f
文字列 $ S $ と $ Q $ 個のクエリが与えらます。
$ i $ 番目のクエリでは文字列 $ T_i $ が与えられるので、$ T_i $ を部分列として含むような $ S $ の極小な部分文字列のうち最も左にあるものを求めてください。
ただし文字列 $ s $ が極小であるとは、$ s $ の部分文字列であって $ T_i $ を部分列として含むような $ s $ より短いものが存在しないことを指すものとします。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ S $ $ Q $ $ T_1 $ $ T_2 $ $ : $ $ T_Q $
Output Format
$ i $ 番目のクエリの答えの文字列が $ S $ の $ l $ 文字目から $ r $ 文字目までの部分文字列であるとき、$ i $ 行目に $ l,r $ を空白区切りで出力せよ。ただし、$ S $ が $ T_i $ を部分列として含まない場合は代わりに `-1` を $ i $ 行目に出力せよ。
Explanation/Hint
### 制約
- $ 1≦|S|≦10^5 $
- $ 1≦Q≦10^5 $
- $ 1≦|T_i| $
- $ |T_i| $ の和は $ 10^5 $ を越えない
- $ S,\ T_i $ は小文字アルファベットのみからなる
### Sample Explanation 1
$ 1 $ 番目のクエリについて説明します。 答えは $ 2 $ 文字目から $ 4 $ 文字目までの部分文字列 `axb` となります。 他にも $ 5 $ 文字目から $ 6 $ 文字目までの部分文字列 `ab` も $ T_1 $ を部分列として含む極小な部分文字列ですが、`axb` の方が左にあるためこちらは答えとはなりません。 また、`aaxb` は極小ではありません。 なぜなら `axb` という $ T_i $ を部分列として含むような部分文字列を含むためです。