#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m, s, d;
  cin >> n >> m >> s >> d;
  if (d == 1) {
    cout << "IMPOSSIBLE";
    return 0;
  }
  set<int> barriers;
  for (int i = 0; i < n; i++) {
    int pos;
    scanf("%d", &pos);
    barriers.insert(pos);
  }
  int last_pos = -1;
  list<string> ans;
  for (auto i = barriers.begin(); i != barriers.end(); i++) {
    int available_distance = *i - last_pos - 2;
    if (available_distance < s) {
      cout << "IMPOSSIBLE";
      return 0;
    }
    ans.push_back("RUN " + to_string(available_distance));
    auto j = i;
    int new_last_pos = *i;
    for (j++; j != barriers.end(); j++) {
      if (*j + 2 - *i > d) {
        break;
      }
      if (*j - new_last_pos - 2 >= s) {
        break;
      }
      new_last_pos = *j;
    }
    ans.push_back("JUMP " + to_string(*(--j) - *i + 2));
    i = j;
    last_pos = *i;
  }
  if (last_pos + 1 != m) {
    ans.push_back("RUN " + to_string(m - *(--barriers.end()) - 1));
  }
  for (auto i = ans.begin(); i != ans.end(); i++) {
    printf((*i).c_str());
    printf("\n");
  }
  return 0;
}
