#include <bits/stdc++.h>
#define ll long long
using namespace std;
string s[300010];
int n,m,w;ll f[300010],qp[300010],ans;
const ll mod=998244353;
//ll qpow(ll x,ll y)
//{
//	if(y==0) return 1;
//	ll tmp=qpow(x,y/2);
//	if(y%2) return tmp*tmp%mod*x%mod;
//	return tmp*tmp%mod;
//}
int main()
{
	scanf("%d %d",&n,&m);
	for(int i=0;i<n;i++)
		cin>>s[i];
	for(int i=0;i<n;i++)
		for(int j=0;j<m;j++)
			w+=s[i][j]=='o';
	qp[0]=1;
	for(int i=1;i<=w;i++)
		qp[i]=qp[i-1]*2%mod;
//	ll inv=qpow(9,mod-2);
	for(int i=2;i<=w;i++)
		f[i]=(f[i-2]*2+f[i-1]+qp[i-2])%mod;
//		f[i]=((3*i+1)*qp[i]%mod-(i%2?-1:1)+mod)%mod*inv%mod;
	int las=0;
	for(int i=0;i<n;i++)
		for(int j=0;j<m;j++)
			if(s[i][j]=='o')
			{
				las++;
				if(j==m-1||s[i][j+1]=='*')
					ans=(ans+f[las]*qp[w-las])%mod,las=0;
			}
	for(int j=0;j<m;j++)
		for(int i=0;i<n;i++)
			if(s[i][j]=='o')
			{
				las++;
				if(i==n-1||s[i+1][j]=='*')
					ans=(ans+f[las]*qp[w-las])%mod,las=0;
			}
	printf("%lld",ans);
}