atcoder#AGC028A. [AGC028A] Two Abbreviations

[AGC028A] Two Abbreviations

配点 : 300300

問題文

長さ NN の文字列 SS と長さ MM の文字列 TT が与えられます。 どちらの文字列も、英小文字からなります。

文字列 XX は、以下の条件をすべて満たす時、よい文字列と呼ばれます。

  • XX の長さを LL とした時、LLNNMM のどちらでも割り切れる
  • XX の $1,\ \frac{L}{N}+1,\ 2 \times \frac{L}{N}+1,\ ...\ (N-1)\times\frac{L}{N}+1$ 番目の文字を並べ替えることなく連結すると SS になる
  • XX の $1,\ \frac{L}{M}+1,\ 2 \times \frac{L}{M}+1,\ ...\ (M-1)\times\frac{L}{M}+1$ 番目の文字を並べ替えることなく連結すると TT になる

よい文字列が存在するか判定し、存在するならば、その中で最短のものの長さを求めてください。

制約

  • 1N,M1051 \leq N,M \leq 10^5
  • SS, TT は英小文字からなる。
  • S=N|S|=N
  • T=M|T|=M

入力

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

NN MM

SS

TT

出力

よい文字列が存在しないならば、-1 と出力せよ。 存在するならば、その中で最短のものの長さを出力せよ。

3 2
acp
ae
6

例えば、accept という文字列はよい文字列です。 これより短いよい文字列は存在しないので、答えは 66 です。

6 3
abcdef
abc
-1
15 9
dnsusrayukuaiia
dujrunuma
45