#include <bits/stdc++.h>
using namespace std;
long long getc(int a, int b, int c) {
  return (2LL * a - b) * (b + 1) / 2 + (2LL * (a - b) + c + 1) * c / 2;
}
long long cst[5];
pair<int, int> pts[5];
bool good(pair<int, int> ps, int n) {
  if (ps.first > n or ps.second > n) return false;
  for (int i = 1; i <= 4; ++i) {
    int a = abs(pts[i].first - ps.first) + abs(pts[i].second - ps.second);
    int b = max(pts[i].first - ps.first, 0) + max(pts[i].second - ps.second, 0);
    int c = (n << 1) - ps.first - ps.second - b;
    if (getc(a, b, c) > cst[i]) return false;
  }
  return true;
}
int main(void) {
  int n, a, b, c;
  long long t;
  cin >> n >> t >> a >> b >> c;
  cst[1] = cst[2] = cst[3] = cst[4] = t;
  pts[1] = make_pair(a, b);
  pts[2] = make_pair(a + c - 1, b + c - 1);
  pts[3] = make_pair(a + c - 1, b);
  pts[4] = make_pair(a, b + c - 1);
  pair<int, int> ps = make_pair(1, 1);
  while (ps.first < n or ps.second < n) {
    if (good(make_pair(ps.first + 1, ps.second), n))
      cout << "R", ++ps.first;
    else if (good(make_pair(ps.first, ps.second + 1), n))
      cout << "U", ++ps.second;
    else {
      cout << "Impossible";
      return 0;
    }
    for (int i = 1; i <= 4; ++i)
      cst[i] -= abs(pts[i].first - ps.first) + abs(pts[i].second - ps.second);
  }
  return 0;
}
