#icpc2014summerday4f. [icpc2014summer_day4_f]Longest Match
[icpc2014summer_day4_f]Longest Match
MathJax.Hub.Config({ tex2jax: { inlineMath: [[""], ["\\(","\\)"]], processEscapes: true }}); blockquote { font-family: Menlo, Monaco, "Courier New", monospace; color: #333333; display: block; padding: 8.5px; margin: 0 0 9px; font-size: 12px; line-height: 18px; background-color: #f5f5f5; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, 0.15); -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; white-space: pre; white-space: pre-wrap; word-break: break-all; word-wrap: break-word; }
Problem Statement
文字列 と, 個のクエリが与えられる. 番目のクエリは二つの文字列 で与えられる.
各クエリについて,文字列 の部分文字列であり, で始まり で終わるものの中で,最長の長さを答えよ.
文字列 について, は の長さを表す. また,文字列 が文字列 の部分文字列であるとは,ある整数 が存在して、 に対して を満たすことを言う.ただし は の 番目の文字を表す.
Input
入力は以下の形式で与えられる.
:
:
- 1行目には,文字列 が与えられる.
- 2行目には,クエリの個数 が与えられる.
- 3行目からの 行のうち 行目には 番目のクエリ文字列 が空白区切りで与えられる.
Constraints
- 及び は,半角の英小文字のみからなる.
Output
以下の形式で最大の部分文字列の長さを答えよ.
:
:
1行目からの 行のうち 行目には, 番目のクエリについて,条件を満たす最長の部分文字列の長さ を出力せよ. そのような部分文字列がない場合,0を出力せよ.
Sample Input 1
abracadabra
5
ab a
a a
b c
ac ca
z z```
### Output for the Sample Input 1
```plain
11
11
4
3
0```
文字列$S$として,abracadabraが与えられる.
* "ab"で始まり"a"で終わる部分文字列は,"abra"や"abraca","abracada","abracadabra"の4種類があるが,最長の部分文字列は"abracadabra"で,長さは11である.
* "a"で始まり"a"で終わる最長の部分文字列も同様に"abracadabra"で,長さは11である.
* "b"で始まり"c"で終わる最長の部分文字列は"brac"で,長さは4である.
* "ac"で始まり"ca"で終わる最長の部分文字列は"aca"で,長さは3である.
* "z"で始まり"z"で終わる部分文字列は存在しない.よって0を出力する.
* * *
### Sample Input 2
```plain
howistheprogress
4
ist prog
s ss
how is
the progress```
### Output for the Sample Input 2
```plain
9
12
5
11```
* * *
### Sample Input 3
```plain
icpcsummertraining
9
mm m
icpc summer
train ing
summer mm
i c
i i
g g
train i
summer er```
### Output for the Sample Input 3
```plain
2
10
8
0
4
16
1
6
6```
* * *