#include <bits/stdc++.h>
using namespace std;
const int maxn = 210, Base = 102, far = 7000;
bool is[maxn][maxn];
int pr[maxn][maxn];
int dx[4] = {1, 0, -1, 0};
int dy[4] = {0, 1, 0, -1};
int x1, x2, ye_chizi_ke_tooye_matn_nayad, y2;
pair<int, int> UU = {0, 0}, RR = {0, 0}, DD = {maxn, maxn}, LL = {maxn, maxn};
vector<int> ans, path;
void go(int k, int NUM = -1) {
  if ((x1 + dx[k]) < 0 || (x1 + dx[k]) >= maxn ||
      (ye_chizi_ke_tooye_matn_nayad + dy[k]) < 0 ||
      (ye_chizi_ke_tooye_matn_nayad + dy[k]) >= maxn ||
      !is[x1 + dx[k]][ye_chizi_ke_tooye_matn_nayad + dy[k]])
    x1 += dx[k], ye_chizi_ke_tooye_matn_nayad += dy[k];
  ans.push_back(k);
  if ((x2 + dx[k]) < 0 || (x2 + dx[k]) >= maxn || (y2 + dy[k]) < 0 ||
      (y2 + dy[k]) >= maxn || !is[x2 + dx[k]][y2 + dy[k]])
    x2 += dx[k], y2 += dy[k];
}
void add_path(int xx, int yy, bool yes = 0) {
  vector<int> vv;
  while (pr[xx][yy] != -1) {
    int x = pr[xx][yy] - 1;
    vv.push_back(x);
    xx -= dx[x];
    yy -= dy[x];
  }
  reverse(vv.begin(), vv.end());
  for (int x : vv) {
    if (yes)
      go(x, 111);
    else
      ans.push_back(x);
  }
}
void solve1() {
  add_path(0, 0, 1);
  for (int i = 0; i < far; i++) go(3, -5);
  if (x2 >= 0 && y2 >= 0 && y2 < maxn && x2 < maxn) {
    memset(pr, 0, sizeof pr);
    pr[x2][y2] = -1;
    queue<pair<int, int> > q;
    q.push({x2, y2});
    while (!q.empty()) {
      pair<int, int> p = q.front();
      q.pop();
      for (int i = 0; i < 4; i++) {
        int x = p.first + dx[i], y = p.second + dy[i];
        if (x >= 0 && y >= 0 && x < maxn && y < maxn && !is[x][y] &&
            pr[x][y] == 0) {
          pr[x][y] = i + 1;
          q.push({x, y});
        }
      }
    }
    add_path(0, 0, 1);
  }
  if (y2 > ye_chizi_ke_tooye_matn_nayad) {
    while (x2 < DD.first) go(0, 0);
    while (x2 > DD.first) go(2, 1);
    while (y2 > ye_chizi_ke_tooye_matn_nayad) go(1, 2);
  }
  while (x1 >= LL.first || x2 >= LL.first) go(2, 3);
  if (x2 > x1) {
    while (y2 < LL.second) go(1, 4);
    while (y2 > LL.second) go(3, 5);
    while (x2 > x1) go(0, 6);
  }
  while (ye_chizi_ke_tooye_matn_nayad <= UU.second || y2 <= UU.second) go(1, 7);
  if (ye_chizi_ke_tooye_matn_nayad > y2) {
    while (x2 < UU.first) go(0, 8);
    while (x2 > UU.first) go(2, 9);
    while (ye_chizi_ke_tooye_matn_nayad > y2) go(3, 10);
  }
  while (x1 <= RR.first || x2 <= RR.first) go(0, 11);
  if (x1 > x2) {
    while (y2 < RR.second) go(1, 12);
    while (y2 > RR.second) go(3, 13);
    while (x1 > x2) go(2, 14);
  }
}
void solve2() {
  add_path(x2, y2);
  path = ans;
  ans.clear();
  int pt = 0;
  while (x1 != x2 || ye_chizi_ke_tooye_matn_nayad != y2) {
    int bx = x2, by = y2;
    go(path[pt], 118);
    if (bx != x2 || by != y2) path.push_back(path[pt]);
    pt++;
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cin >> x1 >> ye_chizi_ke_tooye_matn_nayad >> x2 >> y2;
  x1 += Base;
  x2 += Base;
  ye_chizi_ke_tooye_matn_nayad += Base;
  y2 += Base;
  int m;
  cin >> m;
  if (m == 0) return cout << -1 << endl, 0;
  for (int i = 0; i < m; i++) {
    int a, b;
    cin >> a >> b;
    a += Base;
    b += Base;
    if (RR.first < a) RR = {a, b};
    if (a < LL.first) LL = {a, b};
    if (UU.second < b) UU = {a, b};
    if (b < DD.second) DD = {a, b};
    is[a][b] = 1;
  }
  pr[x1][ye_chizi_ke_tooye_matn_nayad] = -1;
  queue<pair<int, int> > q;
  q.push({x1, ye_chizi_ke_tooye_matn_nayad});
  while (!q.empty()) {
    pair<int, int> p = q.front();
    q.pop();
    for (int i = 0; i < 4; i++) {
      int x = p.first + dx[i], y = p.second + dy[i];
      if (x >= 0 && y >= 0 && x < maxn && y < maxn && !is[x][y] &&
          pr[x][y] == 0) {
        pr[x][y] = i + 1;
        q.push({x, y});
      }
    }
  }
  if (pr[x2][y2] == 0) return cout << -1 << endl, 0;
  int svx1 = x1, svx2 = x2, svy1 = ye_chizi_ke_tooye_matn_nayad, svy2 = y2;
  if (pr[0][0] == 0)
    solve2();
  else
    solve1();
  x1 = svx1;
  x2 = svx2;
  ye_chizi_ke_tooye_matn_nayad = svy1;
  y2 = svy2;
  for (int i = 0; i < int((ans).size()); i++) {
    go(ans[i]);
    if (x1 == x2 && ye_chizi_ke_tooye_matn_nayad == y2) {
      for (int j = 0; j <= i; j++) {
        if (ans[j] == 0) cout << 'R';
        if (ans[j] == 1) cout << 'U';
        if (ans[j] == 2) cout << 'L';
        if (ans[j] == 3) cout << 'D';
      }
      return cout << endl, 0;
    }
  }
}
