H, W = map(int, input().split()) S = [input() for _ in range(H)] T = [input() for _ in range(H)] ok1 = True for i in range(H): for j in range(W): if S[i][j] == T[i][j]: ok1 = False ok2 = True for i in range(H): for j in range(W): if S[H - 1 - i][W - 1 - i] == T[i][j]: ok2 = False ans = 0 now_prob = 1 for i in range(1, 200): if not((i % 2 == 1 and ok1) or (i % 2 == 0 and ok2)): continue prob = 1 - (2 ** (1 - i)) ans += now_prob * prob * i now_prob -= now_prob * prob print(ans)