#include <iostream>
#include<bits/stdc++.h>
using namespace std;
int n,m;
priority_queue< string, vector<string>, greater<string>> ans;
bool valid(int a, int b)
{
if(a<0||b<0||a>=n||b>=m)return false;
return true;
}
void dfs(vector<vector<char>>arr, int i,int j, string sol)
{
if(arr[i][j]=='B')
{
ans.push(sol); return;
}
else if(arr[i][j]!='.')return;
arr[i][j]='#';
vector<pair<pair<int,int>,char>> dir
{{{-1,0},'U'}, {{0,1},'R'}, {{0,-1},'L'}, {{1,0},'D'}};
for(auto x: dir)
{
int a=i+x.first.first;
int b=j+x.first.second;
char d=x.second;
if(valid(a,b))
{ sol+=d;
dfs(arr,a,b,sol);
sol.pop_back();
}
}
arr[i][j]='.';
return;
}
int main() {
cin>>n>>m;
int a,b;
vector<vector<char>>arr(n,vector<char>(m));
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cin>>arr[i][j];
if(arr[i][j]=='A')a=i,b=j;
}
}
arr[a][b]='.';
string sol;
dfs(arr,a,b,sol);
if(ans.size())
{ cout<<"YES"<<endl<<ans.top().size()<<endl<<ans.top();}
cout<<"NO";
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbixtOwpwcmlvcml0eV9xdWV1ZTwgc3RyaW5nLCB2ZWN0b3I8c3RyaW5nPiwgZ3JlYXRlcjxzdHJpbmc+PiBhbnM7Cgpib29sIHZhbGlkKGludCBhLCBpbnQgYikKewoJaWYoYTwwfHxiPDB8fGE+PW58fGI+PW0pcmV0dXJuIGZhbHNlOwoJcmV0dXJuIHRydWU7CgkKfQp2b2lkIGRmcyh2ZWN0b3I8dmVjdG9yPGNoYXI+PmFyciwgaW50IGksaW50IGosIHN0cmluZyBzb2wpCnsKCQoJCglpZihhcnJbaV1bal09PSdCJykKCXsKCQkKCQlhbnMucHVzaChzb2wpOyByZXR1cm47Cgl9CgkKCWVsc2UgaWYoYXJyW2ldW2pdIT0nLicpcmV0dXJuOwoKCWFycltpXVtqXT0nIyc7CgkKCXZlY3RvcjxwYWlyPHBhaXI8aW50LGludD4sY2hhcj4+IGRpciAKCQl7e3stMSwwfSwnVSd9LCB7ezAsMX0sJ1InfSwge3swLC0xfSwnTCd9LCB7ezEsMH0sJ0QnfX07CgkJCglmb3IoYXV0byB4OiBkaXIpCgl7CgkJaW50IGE9aSt4LmZpcnN0LmZpcnN0OwoJCWludCBiPWoreC5maXJzdC5zZWNvbmQ7CgkJY2hhciBkPXguc2Vjb25kOwoJCQoJCWlmKHZhbGlkKGEsYikpCgkJewlzb2wrPWQ7CgkJCgkJCWRmcyhhcnIsYSxiLHNvbCk7CgkJCgkJCXNvbC5wb3BfYmFjaygpOwoJCX0KCX0KCQoJYXJyW2ldW2pdPScuJzsKCXJldHVybjsKfQoKaW50IG1haW4oKSB7CgkKCWNpbj4+bj4+bTsKCWludCBhLGI7CgkKCXZlY3Rvcjx2ZWN0b3I8Y2hhcj4+YXJyKG4sdmVjdG9yPGNoYXI+KG0pKTsKCQoJZm9yKGludCBpPTA7aTxuO2krKykKCXsKCQlmb3IoaW50IGo9MDtqPG07aisrKQoJCXsKCQkJY2luPj5hcnJbaV1bal07CgkJCWlmKGFycltpXVtqXT09J0EnKWE9aSxiPWo7CgkJfQoJfQoJCgoJYXJyW2FdW2JdPScuJzsKCQoJc3RyaW5nIHNvbDsKCWRmcyhhcnIsYSxiLHNvbCk7CgkKCWlmKGFucy5zaXplKCkpCgl7ICAgY291dDw8IllFUyI8PGVuZGw8PGFucy50b3AoKS5zaXplKCk8PGVuZGw8PGFucy50b3AoKTt9CgkKCWNvdXQ8PCJOTyI7CgkKCQoJCgkKCQp9