import sys input = sys.stdin.readline mod=10**9+7 H,W=list(map(int,input().split())) S=[input().strip() for i in range(H)] ANS=0 flag1=1 flag2=1 for i in range(H): for j in range(W): if (i+j)%2==0: if S[i][j]=="1": flag1=0 if S[i][j]=="0": flag2=0 else: if S[i][j]=="0": flag1=0 if S[i][j]=="1": flag2=0 ANS-=flag1+flag2 score=1 for i in range(H): flag1=1 flag2=1 for j in range(W): if j%2==0: if S[i][j]=="1": flag1=0 if S[i][j]=="0": flag2=0 else: if S[i][j]=="0": flag1=0 if S[i][j]=="1": flag2=0 score=score*(flag1+flag2)%mod ANS+=score score=1 for i in range(W): flag1=1 flag2=1 for j in range(H): if j%2==0: if S[j][i]=="1": flag1=0 if S[j][i]=="0": flag2=0 else: if S[j][i]=="0": flag1=0 if S[j][i]=="1": flag2=0 score=score*(flag1+flag2)%mod ANS+=score print(ANS%mod)