#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define F first
#define S second
#define _IO ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define pr pair<int,int>
#define prr pair<ll,pair<ll,ll>>
const ll N=1e6+9,mod=998244353,inf=1e18;
ll pw[N],tot;
ll f(ll n)
{
    ll ret=0;
    int xr=1;
    for(ll i=1;i<n;i++)
    {
        ll x=((n-i)*(pw[tot-i-1]))%mod;
        if(xr)ret=(ret+x)%mod;
        else ret=((ret-x)%mod+mod)%mod;
        xr^=1;
    }
    return ret;
}

ll cal(string s)
{
    ll ret=0;
    for(int i=0;i<s.size();i++)
    {
        ll cnt=0;
        while(i<s.size()&&s[i]=='o')cnt++,i++;
       ret=(ret+f(cnt))%mod;
    }
    return ret;
}

int main()
{
    _IO;
    pw[0]=1;
    for(ll i=1;i<N;i++)pw[i]=(pw[i-1]*2)%mod;
   ll n,m;cin>>n>>m;
   string s[n];
   ll ans=0;
   for(int i=0;i<n;i++)
   {
       cin>>s[i];
       for(auto x:s[i])if(x=='o')tot++;
   }
   for(int i=0;i<n;i++)ans=(ans+cal(s[i]))%mod;
   for(int i=0;i<m;i++)
   {
       string g="";
       for(int j=0;j<n;j++)g.pb(s[j][i]);
       ans=(ans+cal(g))%mod;
   }
   cout<<ans<<"\n";


}

