atcoder#AGC028A. [AGC028A] Two Abbreviations

[AGC028A] Two Abbreviations

得分 : 300300

问题描述

给定一个长度为 NN 的字符串 SS 和一个长度为 MM 的字符串 TT
这两个字符串由小写英文字母组成。

一个字符串 XX 被称为 好字符串 当满足以下所有条件:

  • LLXX 的长度。LL 同时能被 NNMM 整除。
  • XX 的第 11 个、(LN+1)(\frac{L}{N}+1) 个、(2×LN+1)(2 \times \frac{L}{N}+1) 个、......((N1)×LN+1)((N-1)\times\frac{L}{N}+1) 个字符按顺序连接,得到 SS
  • XX 的第 11 个、(LM+1)(\frac{L}{M}+1) 个、(2×LM+1)(2 \times \frac{L}{M}+1) 个、......((M1)×LM+1)((M-1)\times\frac{L}{M}+1) 个字符按顺序连接,得到 TT

确定是否存在一个好字符串。如果存在,找出最短好字符串的长度。

约束条件

  • 1N,M1051 \leq N,M \leq 10^5
  • SSTT 由小写英文字母组成。
  • 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