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)