h, w = map(int, input().split()) s = [input() for _ in range(h)] t = [input() for _ in range(h)] ok1 = all(s[i][j] != t[i][j] for i in range(h) for j in range(w)) for i in range(h): s[i] = ''.join(reversed(s[i])) s.reverse() ok2 = all(s[i][j] != t[i][j] for i in range(h) for j in range(w)) if not ok1 and not ok2: print(-1) exit() ans = 0.0 p = 1.0 i = 0 while p: ans += p if ok1: for _ in range(i): p /= 2 i += 1 ok1, ok2 = ok2, ok1 print(f'{ans:.16f}')