#include <bits/stdc++.h>
using namespace std;
const int d[4][2] = {{1, 0}, {0, 1}, {0, -1}, {-1, 0}};
struct point {
  int x, y;
} a[405], P[4], L, R, U, D;
int SX, SY, TX, TY, N, p[91000], q[91000][4];
bool b[305][305], c[305][305];
void init() {
  scanf("%d%d%d%d%d", &SX, &SY, &TX, &TY, &N), SX += 150, SY += 150, TX += 150,
      TY += 150;
  L.x = D.y = 1e9, R.x = U.y = -1e9;
  for (int i = 1, x, y; i <= N; i++) {
    scanf("%d%d", &x, &y), x += 150, y += 150, a[i].x = x, a[i].y = y,
                                               b[x][y] = c[x][y] = 1;
    if (x < L.x) L.x = x, L.y = y;
    if (x > R.x) R.x = x, R.y = y;
    if (y < D.y) D.x = x, D.y = y;
    if (y > U.y) U.x = x, U.y = y;
  }
  P[0] = R, P[1] = U, P[2] = D, P[3] = L;
}
bool bfs() {
  q[1][0] = SX, q[1][1] = SY, b[SX][SY] = 1;
  for (int l = 1, r = 1; l <= r; l++)
    for (int x = q[l][0], y = q[l][1], i = 0; i < 4; i++) {
      int xx = x + d[i][0], yy = y + d[i][1];
      if ((0 <= xx && xx <= 300 && 0 <= yy && yy <= 300) && !b[xx][yy]) {
        q[++r][0] = xx, q[r][1] = yy, q[r][2] = i, q[r][3] = l, b[xx][yy] = 1;
        if (xx == TX && yy == TY) {
          for (; r > 1; r = q[r][3]) p[++p[0]] = q[r][2];
          reverse(p + 1, p + p[0] + 1);
          return 1;
        }
      }
    }
  return 0;
}
bool move(int i) {
  SX += d[i][0], SY += d[i][1];
  TX += d[i][0], TY += d[i][1];
  putchar(!i ? 'R' : i == 1 ? 'U' : i == 2 ? 'D' : 'L');
  if ((0 <= TX && TX <= 300 && 0 <= TY && TY <= 300) && c[TX][TY]) {
    TX -= d[i][0], TY -= d[i][1];
    return 0;
  }
  return 1;
}
void normal() {
  for (; (0 <= SX && SX <= 300) || (0 <= TX && TX <= 300);) move(0);
  for (; (0 <= SY && SY <= 300) || (0 <= TY && TY <= 300);) move(1);
}
void UD(int d) {
  normal();
  for (; (d == 2 && 0 <= TY) || (d == 1 && TY <= 300);) move(d);
  for (; TX != P[d].x;) move(TX < P[d].x ? 0 : 3);
  for (; TY != SY;) move(3 - d);
}
void LR(int d) {
  normal();
  for (; (d == 3 && 0 <= TX) || (!d && TX <= 300);) move(d);
  for (; TY != P[d].y;) move(TY < P[d].y ? 1 : 2);
  for (; TX != SX;) move(3 - d);
}
void doit() {
  if (!N || !bfs()) {
    puts("-1");
    return;
  }
  for (int i = 1; i <= p[0]; i++) {
    if (move(p[i])) p[++p[0]] = p[i];
    if (SX == TX && SY == TY) return;
    if (!(0 <= SX && SX <= 300 && 0 <= SY && SY <= 300)) break;
  }
  if (SY < TY) UD(2);
  if (SY > TY) UD(1);
  if (SX > TX) LR(0);
  if (SX < TX) LR(3);
}
int main() {
  init();
  doit();
  return 0;
}
