#jag2017summerday1f. [jag2017summer_day1_f]極小部分列

[jag2017summer_day1_f]極小部分列

問題文

文字列 SSQQ 個のクエリが与えらます。

ii 番目のクエリでは文字列 TiT_i が与えられるので、TiT_i を部分列として含むような SS の極小な部分文字列のうち最も左にあるものを求めてください。

ただし文字列 ss が極小であるとは、ss の部分文字列であって TiT_i を部分列として含むような ss より短いものが存在しないことを指すものとします。

制約

  • 1S1051≦|S|≦10^5
  • 1Q1051≦Q≦10^5
  • 1Ti1≦|T_i|
  • Ti|T_i| の和は 10510^5 を越えない
  • S,TiS, T_i は小文字アルファベットのみからなる

入力

入力は以下の形式で標準入力から与えられる。

SS QQ T1T_1 T2T_2 :: TQT_Q

出力

ii 番目のクエリの答えの文字列が SSll 文字目から rr 文字目までの部分文字列であるとき、ii 行目に l,rl,r を空白区切りで出力せよ。ただし、SSTiT_i を部分列として含まない場合は代わりに -1ii 行目に出力せよ。


入力例 1

aaxbab
12
ab
da
subsequence
aaxbab
a
aa
aaa
aaaa
ba
x
xb
xb

出力例 1

2 4
-1
-1
1 6
1 1
1 2
1 5
-1
4 5
3 3
3 4
3 4

11 番目のクエリについて説明します。

答えは 22 文字目から 44 文字目までの部分文字列 axb となります。

他にも 55 文字目から 66 文字目までの部分文字列 abT1T_1 を部分列として含む極小な部分文字列ですが、axb の方が左にあるためこちらは答えとはなりません。

また、aaxb は極小ではありません。 なぜなら axb という TiT_i を部分列として含むような部分文字列を含むためです。