h,w=map(int,input().split()) s=[list(input()) for i in range(h)] t=[list(input()) for i in range(h)] f=1 for i in range(h): for j in range(w): f&=s[i][j]!=t[i][j] if f: p=0 o=0 x=1 for i in range(1,200,2): o,x=x*(1-2**(-(i-1))),x*(2**(-(i-1))) p+=i*o print(p) exit() ns=[["."]*w for i in range(h)] for i in range(h): for j in range(w): ns[i][j]=s[~i][~j] s=ns f=1 for i in range(h): for j in range(w): f&=s[i][j]!=t[i][j] if f: p=0 o=0 x=1 for i in range(2,200,2): o,x=x*(1-2**(-(i-1))),x*(2**(-(i-1))) p+=i*o print(p) exit() print(-1)