#include<bits/stdc++.h>
using namespace std;
bool check(int r,int c,int n,vector<vector<int>> &mat,vector<vector<int>> &visited){
    while(r>=0&&r<n&&c>=0&&c<nmat[r][c]==1&&!visited[r][c]){
        return 1;
    }
    return 0;
}
void fun(int r,int c,int n,vector<vector<int>> &mat,vector<vector<bool>> &visited,vector<string> &ans,string str){
    if(r==n-1&&c==n-1){
        ans.push_back(str);
    }
    visited[r][c]=true;
    if(check(r+1,c,n,mat,visited)){
        fun(r+1,c,n,mat,visited,ans,str+"D");
    }
    if(check(r-1,c,n,mat,visited)){
        fun(r-1,c,n,mat,visited,ans,str+"U");
    }
    if(check(r,c-1,n,mat,visited)){
        fun(r,c-1,n,mat,visited,ans,str+"L");
    }
    if(check(r,c+1,n,mat,visited)){
        fun(r,c+1,n,mat,visited,ans,str+"R");
    }
    visited[r][c]=false;
}
int main(){
    int n;
    cin>>n;
    vector<vector<int>> mat(n,vector<int>(n));
    vector<vector<bool>> visited(n,vector<bool>(n,false));
    vector<string> ans;
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            cin>>mat[i][j];
        }
    }
    fun(0,0,n,mat,visited,ans,"");
    if(ans.empty()){
        cout<<-1;
        return 0;
    }
    for(int i=0;i<ans.size();i++){
        cout<<ans[i]<<" ";
    }
    return 0;
}