#include <bits/stdc++.h>
#pragma comment(linker, "/stack:64000000")
using namespace std;
template <typename first>
inline first abs(const first& a) {
  return a < 0 ? -a : a;
}
template <typename first>
inline first sqr(const first& a) {
  return a * a;
}
const long double PI = 3.1415926535897932384626433832795;
const long double EPS = 1e-9;
const int INF = 1000 * 1000 * 1000;
const int N = 4 * 100 * 1000 + 13;
int n, a, b, c;
long long T;
long long t[4];
int x = 1, y = 1;
char ans[N];
int szans = 0;
pair<int, int> p[4];
inline int dist(const pair<int, int>& a, const pair<int, int>& b) {
  return abs(a.first - b.first) + abs(a.second - b.second);
}
void no() {
  puts("Impossible");
  exit(0);
}
inline long long sum(long long n) {
  if (n <= 0) return 0;
  return (n * (n + 1)) >> 1;
}
inline long long sum(int lf, int rg) {
  if (lf > rg) return 0;
  return sum(rg) - sum(lf - 1);
}
int main() {
  cin >> n >> T >> a >> b >> c;
  p[0] = make_pair((a), (b + c - 1));
  p[1] = make_pair((a + c - 1), (b + c - 1));
  p[2] = make_pair((a + c - 1), (b));
  p[3] = make_pair((a), (b));
  for (int i = 0; i < int(4); i++) t[i] = T;
  while (x < a) {
    ans[szans++] = 'R';
    x++;
    for (int i = 0; i < int(4); i++) t[i] -= dist(p[i], make_pair((x), (y)));
  }
  for (int i = 0; i < int(4); i++)
    if (t[i] < 0) no();
  while (y < b + c - 1) {
    pair<int, int> npos = make_pair((x + 1), (y));
    pair<int, int> auxpos0 = make_pair((npos.first), (p[0].second));
    pair<int, int> auxpos3 = make_pair((npos.first), (p[3].second));
    long long needt0 =
        sum(dist(p[0], auxpos0), dist(p[0], npos)) +
        sum(dist(p[0], auxpos0) + 1, dist(p[0], make_pair((n), (n))));
    long long needt3 =
        sum(dist(p[3], auxpos3), dist(p[3], npos)) +
        sum(dist(p[3], auxpos3) + 1, dist(p[3], make_pair((n), (n))));
    if (x == n || t[0] < needt0 || (y < p[3].second && t[3] < needt3)) {
      ans[szans++] = 'U';
      y++;
    } else {
      ans[szans++] = 'R';
      x++;
    }
    for (int j = 0; j < int(4); j++) {
      t[j] -= dist(p[j], make_pair((x), (y)));
      if (t[j] < 0) no();
    }
  }
  while (x < n) {
    ans[szans++] = 'R';
    x++;
    for (int i = 0; i < int(4); i++) t[i] -= dist(p[i], make_pair((x), (y)));
  }
  for (int i = 0; i < int(4); i++)
    if (t[i] < 0) no();
  while (y < n) {
    ans[szans++] = 'U';
    y++;
    for (int i = 0; i < int(4); i++) t[i] -= dist(p[i], make_pair((x), (y)));
  }
  for (int i = 0; i < int(4); i++)
    if (t[i] < 0) no();
  assert(x == n && y == n);
  puts(ans);
  return 0;
}
