atcoder#ABC257G. [ABC257G] Prefix Concatenation

[ABC257G] Prefix Concatenation

配点 : 600600

問題文

英小文字のみからなる 22 つの文字列 S,TS,T が与えられます。

(相異なっても良い) SS の接頭辞を kk 個連結することで TT と一致させられるような最小の正整数 kk を求めてください。

すなわち、SS11 文字目から ii 文字目までを取り出した文字列を SiS_i としたときに、 kk 個の 11 以上 S|S| 以下の整数の組 (a1,a2,,ak)(a_1,a_2,\ldots, a_k) によって、 T=Sa1+Sa2++SakT=S_{a_1}+S_{a_2}+\cdots +S_{a_k}(ここで ++ は文字列としての連結を表す)と書くことができるような 最小の正整数 kk を求めてください。

TT と一致させる事が不可能な場合は 1-1 を出力してください。

制約

  • 1S5×1051 \leq |S| \leq 5\times 10^5
  • 1T5×1051 \leq |T| \leq 5\times 10^5
  • S,TS,T は英小文字のみからなる文字列

入力

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

SS

TT

出力

SS の接頭辞を kk 個連結することで TT と一致させられるような最小の正整数 kk を出力せよ。 TT と一致させる事が不可能な場合は 1-1 を出力せよ。

aba
ababaab
3

T=T= ababaabab + aba + ab と書け、ab, aba はそれぞれ S=S= aba の接頭辞となっています。 ababaab22 個以下の aba の接頭辞の連結によって表す方法はないため、33 を出力します。

atcoder
ac
-1

TTSS の接頭辞の連結によって表す方法はないため、1-1 を出力します。