#include <bits/stdc++.h>
using namespace std;
vector<char> instr;
void write(int x) { instr.push_back(x + '0'); }
void erase() { instr.push_back('e'); }
void move(int dir) {
  char c;
  if (dir == 0)
    c = 'r';
  else if (dir == 1)
    c = 'u';
  else if (dir == 2)
    c = 'l';
  else
    c = 'd';
  instr.push_back(c);
}
void stay() { instr.push_back('s'); }
void t() { instr.push_back('t'); }
void moves(int x, int y) {
  if (x > 0)
    for (int _ = (0); _ < (x); _++) move(0);
  else
    for (int _ = (0); _ < (-x); _++) move(2);
  if (y > 0)
    for (int _ = (0); _ < (y); _++) move(1);
  else
    for (int _ = (0); _ < (-y); _++) move(3);
}
void copy(int dir) {
  int d2 = (dir + 2) % 4;
  move(dir);
  write(1);
  write(0);
  move(d2);
  t();
}
void sidestep(int dir) {
  int d2 = (dir + 2) % 4;
  move(dir);
  stay();
  move(d2);
  t();
}
void sidestep0(int dir) {
  int d2 = (dir + 2) % 4;
  move(dir);
  move(d2);
  t();
}
void split(int dir) {
  int d2 = (dir + 2) % 4;
  move(dir);
  move(dir);
  move(d2);
  move(d2);
  t();
}
void copynot(int dir) {
  int d2 = (dir + 2) % 4;
  move(dir);
  write(0);
  write(1);
  move(d2);
  t();
}
void doand() {
  copy(1);
  moves(-1, -1);
  copy(1);
  copy(2);
  moves(1, 0);
  write(0);
  moves(0, 2);
  write(0);
  moves(1, 0);
  erase();
  moves(0, -2);
  split(2);
  copy(1);
  copy(0);
  moves(0, 1);
  sidestep(0);
  moves(-1, -1);
  copy(0);
  copy(3);
}
void door() {
  copynot(1);
  moves(-1, -1);
  copynot(1);
  moves(1, 0);
  doand();
  copynot(3);
}
void doxor() {
  copy(1);
  moves(-1, -1);
  copy(1);
  copynot(2);
  moves(1, 2);
  write(0);
  moves(1, 0);
  erase();
  moves(0, -2);
  split(2);
  copy(1);
  copy(0);
  moves(0, 1);
  sidestep(0);
  moves(-1, -1);
  copy(0);
  copy(3);
}
void doadd() {
  doxor();
  copy(0);
  moves(-1, -1);
  doand();
  copy(2);
  moves(2, 0);
  copy(2);
}
void doadd3() {
  moves(-1, 0);
  doadd();
  moves(1, -1);
  copy(1);
  doadd();
  copy(3);
  moves(-1, 1);
  copy(3);
  door();
  copy(3);
  moves(1, 0);
}
struct move_t {
  int x, y, val;
  move_t(int x, int y, int val) : x(x), y(y), val(val) {}
};
void printgrid(vector<vector<int> > &grid) {
  int n = (int)(grid).size();
  int m = (int)(grid[0]).size();
  for (int i = m - 1; i >= 0; i--) {
    for (int j = (0); j < (n); j++) {
      cout << grid[j][i];
    }
    cout << endl;
  }
}
int main() {
  cin.sync_with_stdio(0);
  cin.tie(0);
  cin.exceptions(cin.failbit);
  int N = 30;
  for (int _ = (0); _ < (2); _++) {
    for (int _ = (0); _ < (N); _++) sidestep(2);
    for (int _ = (0); _ < (N); _++) {
      write(0);
      moves(-1, 0);
    }
    moves(N, 0);
    for (int _ = (0); _ < (N + 1); _++) sidestep(0);
    moves(-1, 1);
  }
  moves(0, 1);
  for (int _ = (0); _ < (N + 2); _++) {
    write(0);
    moves(-1, 0);
  }
  moves(N + 5, -3);
  write(0);
  for (int i = (0); i < (N + 1); i++) {
    moves(-3 - i, 0);
    copy(3);
    for (int _ = (0); _ < (4 + i); _++) copy(0);
    copy(1);
    moves(-4 - i, 1);
    copy(1);
    for (int _ = (0); _ < (5 + i); _++) copy(0);
    copy(3);
    copy(3);
    doadd3();
    copy(1);
    for (int _ = (0); _ < (5 + i); _++) copy(2);
    copy(1);
    moves(4 + i, -2);
    copy(2);
    copy(3);
  }
  moves(-4 - N, 3);
  for (int _ = (0); _ < (N + 2); _++) sidestep0(0);
  int n = (int)(instr).size();
  for (int i = (0); i < (n); i++) cout << instr[i];
  cout << endl;
  return 0;
}
