N, M = gets.split.map(&:to_i).sort
S, T = [gets.chomp, gets.chomp].sort{|a, b| a.length <=> b.length}

a = (N.lcm(M) / N).lcm(N.lcm(M) / M)
U = N.times.select{|v| v % a == 0}.map{|v| S[v]}.join("")
V = M.times.select{|v| v % a == 0}.map{|v| T[v]}.join("")
puts U == V ? N.lcm(M) : -1
