H, W = map(int, input().split()) S = [] for _ in range(H): S.append(input()) T = [] Trev = [] for _ in range(H): s = input() s = s.replace(".", "@") s = s.replace("#", ".") s = s.replace("@", "#") Trev.append(s[::-1]) T.append(s) Trev = Trev[::-1] if S == T and S == Trev: pro = 1 n = 1 count = 1 ans = 0 while (10**10) > n: sub = 1 - 1 / n ans += sub * pro * count pro -= sub * pro n *= 2 count += 1 print(ans) elif S == T: pro = 1 n = 1 count = 1 ans = 0 while (10**10) > n: if count % 2 == 1: sub = 1 - 1 / n ans += sub * pro * count pro -= sub * pro n *= 2 count += 1 print(ans) elif S == Trev: pro = 1 n = 1 count = 1 ans = 0 while (10**10) > n: if count % 2 == 0: sub = 1 - 1 / n ans += sub * pro * count pro -= sub * pro n *= 2 count += 1 print(ans) else: print(-1)