
#include<bits/stdc++.h>
using namespace std;
#define ll long long int 
#define str string
#define pb push_back
#define vc vector
#define ci cin
#define co cout
ll vis[1010][1010],n,m,dp[1010][1010];
string s[1010];
// remove fropen in online judge
void dfs(ll i,ll j,ll len)
{     
     
     if(i-1>=0&&s[i-1][j]!='#'&&dp[i-1][j]>len)
     {
        dp[i-1][j]=min(dp[i-1][j],len);
          dfs(i-1,j,len+1);
     }
     if(j-1>=0&&s[i][j-1]!='#'&&dp[i][j-1]>len)
     {
        dp[i][j-1]=min(dp[i][j-1],len);
        dfs(i,j-1,len+1);
     }
      if(i+1<n&&s[i+1][j]!='#'&&dp[i+1][j]>len)
      {
        dp[i+1][j]=min(dp[i+1][j],len);
        dfs(i+1,j,len+1);
      }
       if(j+1<m&&s[i][j+1]!='#'&&dp[i][j+1]>len)
      {
        dp[i][j+1]=len;
        dfs(i,j+1,len+1);
      }
      //  return dp[i][j];

}
int main()
{ 
     #ifndef ONLINE_JUDGE 
     freopen("input.txt","r",stdin);
     freopen("output.txt","w",stdout);
     freopen("error.txt","w",stderr);
    #endif 

    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cin>>n>>m;
  
 
    for(int i=0;i<n;i++)
        cin>>s[i];
    ll ct=0;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {dp[i][j]=INT_MAX;
            vis[i][j]=false;
        }
    }
    ll bi,bj;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            if(s[i][j]=='A')
            {   dp[i][j]=0;
               dfs(i,j,1);
            }  
            if(s[i][j]=='B')
            {
                bi=i;
                bj=j;            }
           
        }
    }
    for(int i=0;i<n;i++)
    {
     for(int j=0;j<m;j++)
     cout<<dp[i][j]<<" ";
     cout<<"\n";
    }
    if(dp[bi][bj]==INT_MAX)
        cout<<"NO";
    else
    {
        cout<<"YES\n"<<dp[bi][bj]<<"\n";
        ll i=bi,j=bj;
        str st;
        while(s[i][j]!='A')
        {
            if(i-1>=0&&dp[i-1][j]==dp[i][j]-1)
            {
                st+='D';
                i--;
            }
            else if(j-1>=0&&dp[i][j-1]==dp[i][j]-1)
            {
                st+='R';
                j--;
            }
            else if(i+1<n&&dp[i+1][j]==dp[i][j]-1)
            {
                st+='U';
                i++;
            }
            else if(j+1<m&&dp[i][j+1]==dp[i][j]-1)
            {
                st+='L';
                j++;
            }
        }
        for(int i=st.size()-1;i>=0;i--)
        cout<<st[i];
    }
    
}
