AT_agc028_a [AGC028A] Two Abbreviations

Description

[problemUrl]: https://atcoder.jp/contests/agc028/tasks/agc028_a 長さ $ N $ の文字列 $ S $ と長さ $ M $ の文字列 $ T $ が与えられます。 どちらの文字列も、英小文字からなります。 文字列 $ X $ は、以下の条件をすべて満たす時、**よい文字列**と呼ばれます。 - $ X $ の長さを $ L $ とした時、$ L $ は $ N $ と $ M $ のどちらでも割り切れる - $ X $ の $ 1,\ \frac{L}{N}+1,\ 2\ \times\ \frac{L}{N}+1,\ ...\ (N-1)\times\frac{L}{N}+1 $ 番目の文字を並べ替えることなく連結すると $ S $ になる - $ X $ の $ 1,\ \frac{L}{M}+1,\ 2\ \times\ \frac{L}{M}+1,\ ...\ (M-1)\times\frac{L}{M}+1 $ 番目の文字を並べ替えることなく連結すると $ T $ になる よい文字列が存在するか判定し、存在するならば、その中で最短のものの長さを求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ M $ $ S $ $ T $

Output Format

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

Explanation/Hint

### 制約 - $ 1\ \leq\ N,M\ \leq\ 10^5 $ - $ S $, $ T $ は英小文字からなる。 - $ |S|=N $ - $ |T|=M $ ### Sample Explanation 1 例えば、`accept` という文字列はよい文字列です。 これより短いよい文字列は存在しないので、答えは $ 6 $ です。