#include <bits/stdc++.h>
using namespace std;
string int2str(int number) {
  string res = "";
  while (number != 0) {
    char digit = char(number % 10) + '0';
    res = digit + res;
    number /= 10;
  }
  return res;
}
int n, m, s, d, *a, runner = 0, next_bar = 0;
string answer = "";
bool IMPOSSIBLE = false;
void run() {
  int way_length;
  if (next_bar == n)
    way_length = m - runner;
  else
    way_length = a[next_bar] - runner - 1;
  if (way_length < s and next_bar != n) {
    IMPOSSIBLE = true;
  } else {
    runner += way_length;
    if (way_length > 0) answer += "RUN " + int2str(way_length) + "\n";
  }
}
void jump() {
  int fly;
  for (int i = next_bar; i < n - 1; i++) {
    fly = a[i] + 1 - runner;
    if (fly > d) {
      IMPOSSIBLE = true;
      return;
    }
    if (a[i + 1] - a[i] - 2 >= s) {
      runner += fly;
      next_bar = i + 1;
      answer += "JUMP " + int2str(fly) + "\n";
      return;
    } else
      ;
  }
  fly = a[n - 1] + 1 - runner;
  if (fly <= d) {
    runner += fly;
    next_bar = n;
    answer += "JUMP " + int2str(fly) + "\n";
  } else {
    IMPOSSIBLE = true;
  }
}
int main() {
  cin >> n >> m >> s >> d;
  int a_storage[n];
  for (int i = 0; i < n; i++) cin >> a_storage[i];
  a = a_storage;
  sort(a_storage, a_storage + n);
  run();
  while (!(IMPOSSIBLE) and runner != m) {
    jump();
    run();
  }
  if (IMPOSSIBLE)
    cout << "IMPOSSIBLE";
  else
    cout << answer;
  return 0;
}
