/*
K.D. Vinit  |,,|
*/
#include<bits/stdc++.h>
using namespace std;

#define int long long

const int mod = 998244353;

void solve()
{
    int n, m;
    cin>>n>>m;

    int a[n+1][m+1];

    for(int i=1; i<=n; i++)
    {
        for(int j=1; j<=m; j++)
        {
            char x;
            cin>>x;

            if(x=='.') a[i][j]=0;
            if(x=='R') a[i][j]=1;
            if(x=='B') a[i][j]=2;
        }
    }

    int cnt[3][n+m+1];

    for(int i=1; i<=n+m; i++)
    {
        cnt[0][i]=0;
        cnt[1][i]=0;
        cnt[2][i]=0;
    }

    for(int i=1; i<=n; i++)
    {
        for(int j=1; j<=m; j++)
        {
            int x = i+j;
            int y = a[i][j];
            cnt[y][x]++;
        }
    }

    int ans = 1;
    for(int i=2; i<=n+m; i++)
    {
        if(cnt[1][i]!=0 && cnt[2][i]!=0)
        {
            cout<<0<<endl;
            return;
        }

        if(cnt[2][i]==0 && cnt[1][i]==0)
        {
            ans*=2;
            ans%=mod;
        }
    }

    cout<<ans<<endl;
}

int32_t main()
{
    ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    solve();
    return 0;
}

#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <cmath>
#include <string>
#include <vector>
#include <list>
#include <iomanip>
#include <stack>
#include <queue>
#include <deque>
#include <set>
#include <map>
#include <unordered_map>
#include <bitset>
#include <chrono>
#include <random>
#define rep(i,n) for(int i=0;i<n;i++)
#define repn(i,n) for(int i=1;i<=n;i++)
#define repr(e,x) for(auto& e:x)
using namespace std;
typedef long long ll;
typedef long double ld;
// typedef pair<int,int> P;
// typedef pair<int,P> IP;
// typedef pair<P,P> PP;
double const PI=3.141592653589793;
int const INF=1001001001;
ll const LINF=1001001001001001001;
ll const MOD=998244353;

ll mpow(ll x,ll n){
    if(n==0) return 1;
    else if(n%2) return x*mpow(x,n-1)%MOD;
    return mpow(x*x%MOD,n/2)%MOD;
}

int H,W;
char S[500][500];

int main(){
    cin>>H>>W;
    rep(i,H) rep(j,W) cin>>S[i][j];

    ll cnt=0;
    rep(k,H+W-1){
        int r=0, b=0, d=0;
        int j=0;
        for(int i=k;i>=0;i--){
            j=k-i;
            if(0<=i && i<H && 0<=j && j<W){
                // cout<<'('<<i<<','<<j<<')'<<endl;
                if(S[i][j]=='R') r++;
                if(S[i][j]=='B') b++;
                if(S[i][j]=='.') d++;
            }
        }
        if(r>0 && b>0){
            cout<<0<<endl;
            return 0;
        }
        if(r==0 && b==0) cnt++;
    }

    ll ans=mpow(2,cnt);
    cout<<ans<<endl;
    
    return 0;
}