#include <bits/stdc++.h>
using namespace std;
const int N = 2001, xd[][2] = {{1,0},{-1,0},{0,1},{0,-1}};
int T;
int n,m;
int a[N][N];
int d[N][N];
int l[N][2],p[N][N];
int t;
int main()
{
cin >> T;
while(T--)
{
cin >> n >> m;
for(int i = n;i >= 1;i--)
{
for(int j = m;j >= 1;j--)
{
char c;
cin >> c;
a[i][j] = c == '1';
}
}
fill(d[1],d[n+1],-1);
l[t = 1][0] = l[1][1] = 1,d[1][1] = 0;
for(int i = 1;i <= n;i++)
{
for(int j = 0;j < 4;j++)
{
int x = l[i][0] + xd[j][0],y = l[i][1] + xd[j][1];
if(x >= 1 && x <= n && y >= 1 && y <= m && d[x][y] == -1 && a[l[i][0]][l[i][1]] != a[x][y])
{
d[x][y] = d[l[i][0]][l[i][1]] + 1;
p[x][y] = j;
++t, l[t][0] = x, l[t][1] = y;
}
}
}
if(d[n][m] == -1)
{
cout << "-1\n";
}
else
{
cout << d[n][m] << "\n";
for(int i = n,j = m,o;i != 1 || j != 1;i -= xd[o][0],j -= xd[o][1])
{
o = p[i][j];
cout << "DURL"[o];
}
cout << "\n";
}
}
return 0;
}