#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
bool check(int n,int row,int col,vector<vector<int>>maze,vector<vector<bool>>&visited){
    return(row>=0 && col>=0 && row<n && col<n && !visited[row][col] && maze[row][col]==1 );
}
void ratinmaze(int n,int row,int col,vector<vector<int>>maze,vector<vector<bool>>&visited,vector<vector<string>>paths,string path){
    if(row==n-1 && col==n-1){
        paths.push_back(path);
        visited[row][col]=true;
    }
    maze[row][col]=1;
    if(check(n,row+1,col,maze,visited)){
        ratinmaze(n,row+1,col,maze,visited,paths,path+="D");
    }
    if(check(n,row-1,col,maze,visited)){
        ratinmaze(n,row-1,col,maze,visited,paths,path+="U");
    }
    if(check(n,row,col+1,maze,visited)){
        ratinmaze(n,row,col+1,maze,visited,paths,path+="R");
    }
    if(check(n,row,col-1,maze,visited)){
        ratinmaze(n,row,col-1,maze,visited,paths,path+="L");
    }
    visited[row][col]=false;
}
int main(){
    int n;
    cin>>n;
    vector<vector<int>>maze(n,vector<int>(n));
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            cin>>maze[i][j];
        }
    }
    vector<vector<bool>>visisted(n,vector<bool>(n,false));
    vector<vector<string>>paths(n,vector<int>(n));
    ratinmaze(n,0,0,maze,visited,paths," ");
    for(string i:paths){
        cout<<i<<" ";
    }
    return 0;
}