#agc028a. [agc028_a]Two Abbreviations

[agc028_a]Two Abbreviations

Problem Statement

You are given a string SS of length NN and another string TT of length MM. These strings consist of lowercase English letters.

A string XX is called a good string when the following conditions are all met:

  • Let LL be the length of XX. LL is divisible by both NN and MM.
  • Concatenating the 11-st, (fracLN+1)(\\frac{L}{N}+1)-th, (2timesfracLN+1)(2 \\times \\frac{L}{N}+1)-th, ......, ((N1)timesfracLN+1)((N-1)\\times\\frac{L}{N}+1)-th characters of XX, without changing the order, results in SS.
  • Concatenating the 11-st, (fracLM+1)(\\frac{L}{M}+1)-th, (2timesfracLM+1)(2 \\times \\frac{L}{M}+1)-th, ......, ((M1)timesfracLM+1)((M-1)\\times\\frac{L}{M}+1)-th characters of XX, without changing the order, results in TT.

Determine if there exists a good string. If it exists, find the length of the shortest such string.

Constraints

  • 1leqN,Mleq1051 \\leq N,M \\leq 10^5
  • SS and TT consist of lowercase English letters.
  • S=N|S|=N
  • T=M|T|=M

Input

Input is given from Standard Input in the following format:

NN MM SS TT

Output

If a good string does not exist, print -1; if it exists, print the length of the shortest such string.


Sample Input 1

3 2
acp
ae

Sample Output 1

6

For example, the string accept is a good string. There is no good string shorter than this, so the answer is 66.


Sample Input 2

6 3
abcdef
abc

Sample Output 2

-1

Sample Input 3

15 9
dnsusrayukuaiia
dujrunuma

Sample Output 3

45