#define MD 998244353
ll@n,@m,a=0;
string@s[n];
unionFind u('m',n*m,1);
rep(y,n){
	rep(x,m){
		if(s[y][x]=='#'){
			a+=2;
			if(y&&x&&u((y-1)*m+x)==u(y*m+(x-1))){
				a-=1;
			}
			if(y&&s[y-1][x]=='#'){
				u((y-1)*m+x,y*m+x);
			}
			if(x&&s[y][x-1]=='#'){
				u(y*m+(x-1),y*m+x);
			}
		}
	}
}
wt(Mint(2)**a);