#include<bits/stdc++.h>
using namespace std;

int h[30][29], v[29][30], hc[30][29], vc[29][30];
int si, sj, ti, tj, prev_si, prev_sj, prev_ti, prev_tj;
int prev_result;
int i=0, j=0;

int border=1;
int repeat_count=1000;

string query(int si, int sj, int ti, int tj){
 string path;
 while(si!=ti || sj!=tj){
  if(si==ti){
   if(sj<tj){
    path=path+"R";
    sj++;
   }
   else{
    path=path+"L";
    sj--;
   }
  }
  else if(sj==tj){
   if(si<ti){
    path=path+"D";
    si++;
   }
   else{
    path=path+"U";
    si--;
   }
  }
  //左上
  else if(si<ti && sj<tj){
   if(hc[si][sj]<border || vc[si][sj]<border){
    if(hc[si][sj]<vc[si][sj]){
     path=path+"R";
     sj++;
    }
    else{
     path=path+"D";
     si++;
    }
   }
   else if(h[si][sj]<v[si][sj]){
    path=path+"R";
    sj++;
   }
   else{
    path=path+"D";
    si++;
   }
  }
  //左下
  else if(si>ti && sj<tj){
   if(hc[si][sj]<border || vc[si-1][sj]<border){
    if(hc[si][sj]<vc[si-1][sj]){
     path=path+"R";
     sj++;
    }
    else{
     path=path+"U";
     si--;
    }
   }
   else if(h[si][sj]<v[si-1][sj]){
    path=path+"R";
    sj++;
   }
   else{
    path=path+"U";
    si--;
   }
  }
  //右下
  else if(si>ti&& sj>tj){
   if(hc[si][sj-1]<border || vc[si-1][sj]<border){
    if(hc[si][sj-1]<vc[si-1][sj]){
     path=path+"L";
     sj--;
    }
    else{
     path=path+"U";
     si--;
    }
   }
   else if(h[si][sj-1]<v[si-1][sj]){
    path=path+"L";
    sj--;
   }
   else{
    path=path+"U";
    si--;
   }
  }
  //右上
  else{
   if(hc[si][sj-1]<border || vc[si][sj]<border){
    if(hc[si][sj-1]<vc[si][sj]){
     path=path+"L";
     sj--;
    }
    else{
     path=path+"D";
     si++;
    }
   }
   else if(h[si][sj-1]<v[si][sj]){
    path=path+"L";
    sj--;
   }
   else{
    path=path+"D";
    si++;
   }
  }
 }
 return path;
}

void sethv(int prev_si, int prev_sj, string prev_path, int prev_result){
 int delta=(int)round(prev_result/prev_path.length())-5000;
 while(prev_path.empty()==0){
  if(prev_path[0]=='R'){
   h[prev_si][prev_sj]=(int)round((h[prev_si][prev_sj]*hc[prev_si][prev_sj]+delta)/(hc[prev_si][prev_sj]+1));
   hc[prev_si][prev_sj]++;
   prev_sj++;
  }
  else if(prev_path[0]=='D'){
   v[prev_si][prev_sj]=(int)round((v[prev_si][prev_sj]*vc[prev_si][prev_sj]+delta)/(vc[prev_si][prev_sj]+1));
   vc[prev_si][prev_sj]++;
   prev_si++;
  }
  else if(prev_path[0]=='L'){
   h[prev_si][prev_sj-1]=(int)round((h[prev_si][prev_sj-1]*hc[prev_si][prev_sj-1]+delta)/(hc[prev_si][prev_sj-1]+1));
   hc[prev_si][prev_sj-1]++;
   prev_sj--;
  }
  else{
   v[prev_si-1][prev_sj]=(int)round((v[prev_si-1][prev_sj]*vc[prev_si-1][prev_sj]+delta)/(vc[prev_si-1][prev_sj]+1));
   vc[prev_si-1][prev_sj]++;
   prev_si--;
  }
  prev_path.erase(0, 1);
 }
}

void read_s_t(){
  cin>>si;
  cin>>sj;
  cin>>ti;
  cin>>tj;
}

void set_prev_s_t(){
 prev_si=si;
 prev_sj=sj;
 prev_ti=ti;
 prev_tj=tj;
}

void read_result(){
 cin>>prev_result;
}

int main(){
 //h初期化
 for(i=0; i<=29; i++){
  for(j=0; j<=28; j++){
   h[i][j]=0;
   hc[i][j]=0;
  }
 }
 //v初期化
 for(i=0; i<=28; i++){
  for(j=0; j<=29; j++){
   v[i][j]=0;
   vc[i][j]=0;
  }
 }

 for(i=0; i<repeat_count; i++){
  read_s_t();
  set_prev_s_t();
  string path=query(si, sj, ti, tj);
  cout<<path<<"\n"<<flush;
  read_result();
  sethv(prev_si, prev_sj, path, prev_result);
 }
 return 0;
}
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define sc(x) scanf("%lld",&(x));
#define pb push_back
#define fi first
#define se second
#define P pair<int,int>

int qp(int x,int n,int mod){
    int ans = 1;
    while(n){
        if(n&1){
            ans = (ans * x)%mod;
        }
        n >>= 1;
        x = (x*x)%mod;
    }
    return ans;
}
int n;
int A[34][34];
void init(){
    A[0][1] = 1;
    A[1][0] = 1;
    for(int i = 0; i <= 30; i++){
        A[i][0] = 1;
        A[0][i] = 1;
    }
    A[0][0] = 0;
    for(int i = 1; i <= 30; i++){
        for(int j = 1; j <= 30; j++){
            A[i][j] = A[i-1][j] + A[i][j-1];
        }
    }

}
signed main() {
    int a,b,k;
    init();

    sc(a)sc(b)sc(k)
    while(a > 0 || b > 0){
        if(a == 0){
            cout << 'b';
            b--;
        }else if(b == 0){
            cout << 'a';
            a--;
        }else if(A[a-1][b] >= k){
            cout << 'a';
            a --;
        }else{
            k -= A[a-1][b];
            cout << 'b';
            b--;
        }
    }
    return 0;
}
