Спортсмен стартует из точки xstart = 0 и бежит в точку с координатой xfinish = m (на прямой). Также спортсмен умеет прыгать — для прыжка он сначала должен взять разбег длины не менее s метров (при этом на протяжении этих s метров на его пути не должно быть препятствий), а после этого он может прыгнуть на длину не более d метров. Бегать и прыгать разрешено только в направлении слева направо. Начинать и заканчивать прыжок можно только в точках с целочисленными координатами, в которых нет препятствий. Чтобы преодолеть какое-то препятствие, нужно приземлиться в точке, которая находится строго правее этого препятствия.
На пути спортсмена есть n препятствий в точках с координатами x1, x2, ..., xn. Пробегать через препятствия нельзя, их можно только перепрыгивать. Перед вами стоит задача определить, сможет ли спортсмен добраться до финишной точки.
Выходные данные
Если бегун не сможет добраться до финишной точки, выведите в первую строку выходных данных «IMPOSSIBLE» (без кавычек).
Если же спортсмен может добраться от старта до финиша, то выведите любой способ сделать это в следующем формате:
- выведите строку вида «RUN X» (где «X» должно быть целым положительным числом), если очередные «X» метров спортсмен должен бежать;
- выведите строку вида «JUMP Y» (где «Y» должно быть целым положительным числом), если спортсмен начинает прыжок и очередные «Y» метров должен находиться в полете.
Все команды «RUN» и «JUMP» должны строго чередоваться, начиная с «RUN», а также они должны быть выведены в хронологическом порядке. Не разрешается перепрыгивать финишную точку, но разрешается в ней приземляться после прыжка. Спортсмен должен остановиться, как только достигнет финиша.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
3 10 1 3 3 4 7
|
RUN 2
JUMP 3
RUN 1
JUMP 2
RUN 2
|
|
2
|
2 9 2 3 6 4
|
IMPOSSIBLE
|