#include <bits/stdc++.h>
using namespace std;
int n, a, b, c;
long long T;
vector<pair<int, int> > sensor(4);
vector<long long> pts(4);
long long getSum(int start, int x, int y) {
  return 1LL * (x + 1) * (2 * start - x) / 2 +
         1LL * y * (2 * start - 2 * x + y + 1) / 2;
}
bool ok(int locx, int locy) {
  if (locx > n || locy > n) return false;
  for (int i = 0; i < 4; i++) {
    int start = abs(sensor[i].first - locx) + abs(sensor[i].second - locy);
    int dec = max(sensor[i].first - locx, 0) + max(sensor[i].second - locy, 0);
    int inc = 2 * n - locx - locy - dec;
    if (getSum(start, dec, inc) > pts[i]) return false;
  }
  return true;
}
int main() {
  cin >> n >> T >> a >> b >> c;
  for (int i = 0; i < 4; i++) pts[i] = T;
  sensor[0] = make_pair(a, b);
  sensor[1] = make_pair(a + c - 1, b);
  sensor[2] = make_pair(a, b + c - 1);
  sensor[3] = make_pair(a + c - 1, b + c - 1);
  pair<int, int> cur = make_pair(1, 1);
  string ret = "";
  while (cur.first < n || cur.second < n) {
    if (ok(cur.first + 1, cur.second)) {
      cur.first++;
      ret += 'R';
    } else if (ok(cur.first, cur.second + 1)) {
      cur.second++;
      ret += 'U';
    } else {
      printf("Impossible\n");
      return 0;
    }
    for (int i = 0; i < 4; i++)
      pts[i] -= (abs(sensor[i].first - cur.first) +
                 abs(sensor[i].second - cur.second));
  }
  cout << ret << endl;
}
