eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Пішаки

Пішаки

У першому класі Гліб захопився шахами. Но той час він знав лише як ходить пішак: він може бити по діагоналі ліворуч-вгору та правопуч-вгору, і ходити на клітинку вгору лише якщо та клітинка не зайнята іншоюй фігурою. Про те, що пішак може перетворюватись у ферзя Гліб не підозрює. Тому він придумав свій варіант шахів. Гра йде на дошці з \textbf{N} рядками та \textbf{M} стовбцями (\textbf{1} ≤ \textbf{N} ≤ \textbf{100}, \textbf{1} ≤ \textbf{M} ≤ \textbf{100}) за наступними правилами. У нижніьому рядку, який має номер \textbf{1}, стоять \textbf{P} білих пішаків, білих фігур на дошці більше нема. На іншій частині дошки стоять різні чорні фігури (їх назв Гліб не знає). Ходять лише білі, їх мета - побити всі чорні фігури. Як і у справжніх шахах, якщо пішак Гліба б'є чорну фігуру, то він стає на її місце, а збита фігура забирається з дошки. Вважається, що Гліб виграв, якщо він зумів побити білими пішаками всі чорні фігури, у протилежному випадку він програв. Допоможіть йому за заданою конфігурацією всіх фігур визначити, чи зможе він виграти, і, у випадку успіху, виведіть правильну послідовність ходів білих пішаків. \InputFile Спочатку вводиться чотири цілих числа \textbf{N}, \textbf{M}, \textbf{P}, \textbf{K} (\textbf{1} ≤ \textbf{N} ≤ \textbf{100}, \textbf{1} ≤ \textbf{M} ≤ \textbf{100}, \textbf{0} ≤ \textbf{P} ≤ \textbf{M}, \textbf{1} ≤ \textbf{K} ≤ \textbf{1000}, \textbf{K} ≤ (\textbf{M}-\textbf{1})·\textbf{N}). Далі записано \textbf{P} різних чисел - номери стовбців \textbf{p_j} (\textbf{1} ≤ \textbf{p_j} ≤ \textbf{M}), у яких стоять білі пішаки. Далі йде \textbf{K} різних пар цілих чисел - координати (рядка і стовбця) чорних фігур \textbf{r_i}, \textbf{c_i} (\textbf{2} ≤ \textbf{r_i} ≤ \textbf{N}, \textbf{1} ≤ \textbf{c_i} ≤ \textbf{M}). \OutputFile Якщо пішаки не зможуть з'їсти всі фігури, виведіть єдине слово \textbf{NO}. У протилежному випадку у перший рядок виведіть \textbf{YES}, другий рядок повинен містити сумарне число переміщень \textbf{C}, наступні \textbf{C} рядків - опис ходів пішаками, по одному ходу у кожному рядку. Кожен хід задається двома координатами \textbf{r}, \textbf{c} пішака (номерами рядка і стовбця), який буде ходити, і символом \textbf{m}, який приймає три значення: \textbf{L}, \textbf{R}, \textbf{F} - побити вперед і ліворуч, побити вперед і праворуч, зробити крок вперед відповідно. Дані про хід слід виводити відокремленими одним пропуском, спочатку координати, потім тип ходу. Якщо послідовностей ходів декілька, виведіть довільний з них. Зверніть увагу, що мінімізувати кількість переміщень не потрібно.
Ліміт часу 5 секунд
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
2 2 2 1
1 2
2 2
Вихідні дані #1
YES
1
1 1 R