import sys, time, random
from collections import deque, Counter, defaultdict
def debug(*x):print('debug:',*x, file=sys.stderr)
input = lambda: sys.stdin.readline().rstrip()
ii = lambda: int(input())
mi = lambda: map(int, input().split())
li = lambda: list(mi())
inf = 2 ** 61 - 1
mod = 998244353

h, w = mi()

s = [input() for _ in range(h)]
t = [input() for _ in range(h)]
t = [t[i].replace('#', '1') for i in range(h)]
t = [t[i].replace('.', '#') for i in range(h)]
t = [t[i].replace('1', '.') for i in range(h)]
cnt = 0
if s == t:
    cnt |= 1
if [s[i][::-1] for i in range(h)][::-1] == t:
    cnt |= 2
if cnt == 0:
    print(-1)
    exit()
ans = 0
p = 1
for i in range(1, 1000):
    if i % 2:
        if cnt % 2:
            ans += i * (1 - pow(2, -i+1)) * p
            p *= (pow(2, -i+1))
    else:
        if cnt // 2:
            ans += i * (1 - pow(2, -i+1)) * p
            p *= (pow(2, -i+1))

print(ans)