#include <bits/stdc++.h>
using namespace std;
template <class T>
void chmin(T &t, const T &f) {
  if (t > f) t = f;
}
template <class T>
void chmax(T &t, const T &f) {
  if (t < f) t = f;
}
int main() {
  int n, m, s, d, start = 0, a, to;
  vector<int> v, ans;
  scanf("%d %d %d %d", &n, &m, &s, &d);
  for (int i = 0; i < n; ++i) {
    scanf("%d", &a);
    v.push_back(a);
  }
  if (d == 1) {
    printf("IMPOSSIBLE\n");
    return 0;
  }
  sort(v.begin(), v.end());
  for (int i = 0; i < n; ++i) {
    int obs = v[i];
    while (i + 1 < n && v[i + 1] - v[i] - 2 < s) i++;
    to = v[i] + 1;
    int run = obs - start - 1;
    if (run < s) {
      printf("IMPOSSIBLE\n");
      return 0;
    } else
      ans.push_back(run);
    int jump = to - obs + 1;
    if (jump > d) {
      printf("IMPOSSIBLE\n");
      return 0;
    } else
      ans.push_back(jump);
    start = to;
  }
  if (to != m) ans.push_back(m - v[n - 1] - 1);
  int rr = 1;
  for (int i = 0; i < ans.size(); ++i) {
    if (rr)
      printf("RUN %d\n", ans[i]);
    else
      printf("JUMP %d\n", ans[i]);
    rr = !rr;
  }
  return 0;
}
