#include <bits/stdc++.h>
using namespace std;
char c[2000][2000];
int que[4000000][2];
int u[2000][2000], uid;
char pre[2000][2000];
int sx, sy, tx, ty;
int mm[4][2] = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}};
char op[5] = "UDRL";
int go() {
  int p, q, x, y, dx, dy, f;
  p = 0;
  q = -1;
  que[0][0] = tx;
  que[0][1] = ty;
  uid++;
  u[tx][ty] = uid;
  f = 0;
  while (p != q) {
    q++;
    x = que[q][0];
    y = que[q][1];
    if (x == sx && y == sy) {
      f = 1;
      break;
    }
    for (int i = 0; i < 4; i++) {
      dx = x - mm[i][0];
      dy = y - mm[i][1];
      if (dx >= 0 && dy >= 0 && dx < 2000 && dy < 2000 && u[dx][dy] != uid &&
          !c[dx][dy]) {
        u[dx][dy] = uid;
        que[++p][0] = dx;
        que[p][1] = dy;
        pre[dx][dy] = i;
      }
    }
  }
  if (!f) {
    return 0;
  }
  dx = tx;
  dy = ty;
  while (sx != dx || sy != dy) {
    int i = pre[sx][sy];
    sx += mm[i][0];
    sy += mm[i][1];
    printf("%c", op[i]);
    if (!c[tx + mm[i][0]][ty + mm[i][1]]) {
      tx += mm[i][0];
      ty += mm[i][1];
    }
  }
  return 1;
}
inline int near(int x, int y) {
  return x < 1500 && y < 1500 && x > 500 && y > 500;
}
void up() {
  sx--;
  tx--;
  if (c[tx][ty]) tx++;
  printf("L");
}
void left() {
  sy--;
  ty--;
  if (c[tx][ty]) ty++;
  printf("D");
}
void right() {
  sy++;
  ty++;
  if (c[tx][ty]) ty--;
  printf("U");
}
void down() {
  sx++;
  tx++;
  if (c[tx][ty]) tx--;
  printf("R");
}
int main() {
  int n, i, j, x, y, x1, y1, x2, y2, x3, y3, x4, y4, px, py;
  scanf("%d %d %d %d %d", &sx, &sy, &tx, &ty, &n);
  sx += 1000;
  sy += 1000;
  tx += 1000;
  ty += 1000;
  for (i = 0; i < n; i++) {
    scanf("%d %d", &x, &y);
    x += 1000;
    y += 1000;
    c[x][y] = 1;
    if (i == 0) {
      x1 = x2 = x3 = x4 = x;
      y1 = y2 = y3 = y4 = y;
    } else {
      if (x < x1) {
        x1 = x;
        y1 = y;
      }
      if (x > x2) {
        x2 = x;
        y2 = y;
      }
      if (y < y3) {
        x3 = x;
        y3 = y;
      }
      if (y > y4) {
        x4 = x;
        y4 = y;
      }
    }
  }
  if (n == 0) {
    puts("-1");
    return 0;
  }
  if (!go()) {
    printf("-1");
  } else {
    while (sx != tx || sy != ty) {
      if (!near(sx, sy) && !near(tx, ty)) break;
      go();
    }
    if (sx != tx || sy != ty) {
      if (sy > 1200) {
        while (sx > 100) {
          up();
        }
      }
      if (sx > 1200) {
        while (sy > 100) {
          left();
        }
      }
      while (sy > 100) {
        left();
      }
      while (sx > 100) {
        up();
      }
      if (sx > tx) {
        while (sx < 1900) {
          down();
        }
        px = x2;
        py = y2;
      } else {
        px = x1;
        py = y1;
      }
      while (ty != py) {
        right();
      }
      while (sx > tx) {
        up();
      }
      while (sx < tx) {
        down();
      }
      while (sy > 100) {
        left();
      }
      while (sx > 100) {
        up();
      }
      if (sy > ty) {
        while (sy < 1900) {
          right();
        }
        px = x4;
        py = y4;
      } else {
        px = x3;
        py = y3;
      }
      while (tx != px) {
        down();
      }
      while (sy > ty) {
        left();
      }
      while (sy < ty) {
        right();
      }
    }
  }
  puts("");
  return 0;
}
