#include <bits/stdc++.h>
using namespace std;
int main(int argc, const char* argv[]) {
  ios_base::sync_with_stdio(0);
  cin.tie();
  int n, m, s, d;
  cin >> n >> m >> s >> d;
  set<int> a;
  for (int i = 0; i < n; ++i) {
    int tmp;
    cin >> tmp;
    a.insert(tmp);
  }
  set<int>::iterator s_Iter;
  s_Iter = a.begin();
  int* x = new int[n];
  int ind = 0;
  while (s_Iter != a.end()) {
    x[ind] = *s_Iter;
    s_Iter++;
    ind++;
  }
  int k = 0;
  queue<int> q;
  ind = 0;
  bool run = true;
  while (ind != n) {
    if (run) {
      int razb = x[ind] - k - 1;
      if (s > razb) {
        cout << "IMPOSSIBLE";
        return 0;
      }
      q.push(razb);
      k = x[ind] - 1;
    } else {
      ind++;
      if (ind != n)
        while ((x[ind] - x[ind - 1] - 2) < s) {
          if (x[ind] + 1 - k > d) {
            cout << "IMPOSSIBLE";
            return 0;
          }
          ind++;
          if (ind == n) break;
        }
      if (x[ind - 1] + 1 - k <= d)
        q.push(x[ind - 1] + 1 - k);
      else {
        cout << "IMPOSSIBLE";
        return 0;
      }
      k = x[ind - 1] + 1;
    }
    run = !run;
  }
  if (m != k) q.push(m - k);
  run = true;
  while (!q.empty()) {
    run == true ? cout << "RUN " : cout << "JUMP ";
    run = !run;
    cout << q.front() << "\n";
    q.pop();
  }
  return 0;
}
