uses math;
var i,j,m,n:longint;
w,a:array[0..100,0..100] of longint;
s:string;
begin
readln(n,m);
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
for i:=1 to n do
w[i,1]:=w[i-1,1]+a[i,1];
for i:=1 to m do
w[1,i]:=w[1,i-1]+a[1,i];
for i:=1 to n do
begin
for j:=1 to m do
begin
if w[i,j]=0 then w[i,j]:=max(w[i-1,j],w[i,j-1])+ a[i,j];
end;
end; i:=n;j:=m;
while (i>0)and(j>0) do
begin
// if i=1 then begin s:='R '+s; dec(j);end; if j=1 then begin s:='D '+s; dec(i); end;
// if (i=0)or(j=0) then break;
if(i=1)and(j=1) then break;
if w[i-1,j]>w[i,j-1] then begin s:='D '+s;dec(i);end else
begin dec(j); s:='R '+s;end;
end;
writeln(w[n,m]);
writeln(s);
end.
dXNlcyBtYXRoOwp2YXIgaSxqLG0sbjpsb25naW50OwogICAgdyxhOmFycmF5WzAuLjEwMCwwLi4xMDBdIG9mIGxvbmdpbnQ7CiAgICBzOnN0cmluZzsKYmVnaW4KICByZWFkbG4obixtKTsKICBmb3IgaTo9MSB0byBuIGRvCiAgZm9yIGo6PTEgdG8gbSBkbwogICAgcmVhZChhW2ksal0pOwogIGZvciBpOj0xIHRvIG4gZG8KICB3W2ksMV06PXdbaS0xLDFdK2FbaSwxXTsKICBmb3IgaTo9MSB0byBtIGRvCiAgd1sxLGldOj13WzEsaS0xXSthWzEsaV07CiAgZm9yIGk6PTEgdG8gbiBkbwogYmVnaW4KIGZvciBqOj0xIHRvIG0gZG8KICAgYmVnaW4KICAgaWYgd1tpLGpdPTAgdGhlbiB3W2ksal06PW1heCh3W2ktMSxqXSx3W2ksai0xXSkrIGFbaSxqXTsKCiAgICAgICAgICAgICAgICAgIGVuZDsKCiAgICBlbmQ7ICAgIGk6PW47ajo9bTsKICAgIHdoaWxlIChpPjApYW5kKGo+MCkgZG8KICAgIGJlZ2luCi8vICAgIGlmIGk9MSB0aGVuIGJlZ2luIHM6PSdSICcrczsgZGVjKGopO2VuZDsgICAgaWYgaj0xIHRoZW4gYmVnaW4gczo9J0QgJytzOyBkZWMoaSk7IGVuZDsKLy8gICAgaWYgKGk9MClvcihqPTApIHRoZW4gYnJlYWs7CiAgICBpZihpPTEpYW5kKGo9MSkgdGhlbiBicmVhazsKICAgICAgaWYgd1tpLTEsal0+d1tpLGotMV0gdGhlbiBiZWdpbiBzOj0nRCAnK3M7ZGVjKGkpO2VuZCBlbHNlCiAgICAgIGJlZ2luIGRlYyhqKTsgczo9J1IgJytzO2VuZDsKICAgIGVuZDsKICB3cml0ZWxuKHdbbixtXSk7CiAgd3JpdGVsbihzKTsKZW5kLg==