До цієї задачі додано вкладення. Ви можете використати його для симуляції та візуалізації рухів робота.
У VegiCat є робот на нескінченній двовимірній сітці. Він хоче, щоб робот перемістився з клітинки $s = (s_x, s_y)$ у клітинку $t = (t_x, t_y)$. Кожна клітинка має цілі координати. Клітинки $s$ і $t$ можуть збігатися.
Робот виконує рядок інструкцій $p$. Кожен символ — це L, R, U або D. Нехай $|p|$ позначає довжину рядка $p$.
Робот починає рух у клітинці $s$. Перш ніж він виконає будь-які інструкції, ви можете розмістити щонайбільше $|p|$ перешкод у різних клітинках. Координати $(x, y)$ кожної перешкоди повинні задовольняти умову $-2 \cdot 10^9 \le x, y \le 2 \cdot 10^9$. Ані клітинка $s$, ані клітинка $t$ не можуть містити перешкоду. Кожна перешкода займає одну клітинку і залишається нерухомою протягом усього процесу; усі інші клітинки вільні від перешкод.
Робот виконує інструкції $p_1, p_2, \ldots, p_{|p|}$ по черзі. Для кожної інструкції, починаючи зі своєї поточної клітинки $(x, y)$, він рухається вздовж такої послідовності клітинок:
L: $(x, y) \to (x - 1, y) \to (x - 2, y) \to \cdots$;R: $(x, y) \to (x + 1, y) \to (x + 2, y) \to \cdots$;U: $(x, y) \to (x, y + 1) \to (x, y + 2) \to \cdots$;D: $(x, y) \to (x, y - 1) \to (x, y - 2) \to \cdots$.
Робот раз у раз робить один крок у вказаному напрямку, доки наступна клітинка не містить перешкоди. Він зупиняється в клітинці безпосередньо перед першою перешкодою в цьому напрямку. Якщо наступна клітинка у вказаному напрямку вже містить перешкоду до початку виконання інструкції, робот залишається на місці, але інструкція все одно вважається виконаною. Якщо попереду в цьому напрямку немає жодної перешкоди, робот рухатиметься вічно, і таке розміщення є некоректним.
Робот може дістатися клітинки $t$ до того, як будуть виконані всі інструкції. Він усе одно повинен виконати всі решту інструкцій. Побудуйте будь-яке розміщення перешкод, що задовольняє наведені вище вимоги, так щоб робот опинився в клітинці $t$ після останньої інструкції, або повідомте, що такого розміщення не існує.
Вхідні дані
Перший рядок містить ціле число $T$ ($1 \le T \le 10^5$) — кількість наборів вхідних даних. Далі йде опис наборів вхідних даних.
Перший рядок кожного набору вхідних даних містить два цілі числа $s_x$ і $s_y$ ($-10^9 \le s_x, s_y \le 10^9$) — координати початкової клітинки.
Другий рядок містить два цілі числа $t_x$ і $t_y$ ($-10^9 \le t_x, t_y \le 10^9$) — координати цільової клітинки.
Третій рядок містить рядок інструкцій $p$ ($1 \le |p| \le 10^5$), що складається лише з символів L, R, U та D.
Гарантується, що сума $|p|$ за всіма наборами вхідних даних не перевищує $10^5$.
Вихідні дані
Для кожного набору вхідних даних виведіть відповідь у порядку вхідних даних. Розміщення перешкод для різних наборів вхідних даних є незалежними.
Якщо коректного розміщення не існує, виведіть NO в окремому рядку.
Інакше виведіть YES у першому рядку. У другому рядку виведіть ціле число $k$ ($0 \le k \le |p|$) — кількість перешкод.
Потім виведіть $k$ рядків. $i$-й із цих рядків повинен містити два цілі числа $x_i$ та $y_i$ ($-2 \cdot 10^9 \le x_i, y_i \le 2 \cdot 10^9$), що задають перешкоду в клітинці $(x_i, y_i)$.
Усі $k$ пар координат мають бути різними, і жодна з них не може дорівнювати $s$ або $t$. Розміщення повинно дозволяти кожній інструкції завершитися і залишати робота в клітинці $t$ після останньої інструкції. Якщо існує декілька розв'язків, виведіть будь-який із них.
Ви можете виводити вердикт yes або no у будь-якому регістрі. Наприклад, yEs, yes, Yes та YES приймаються як позитивні відповіді.
Приклади
Вхідні дані 1
6 0 0 1 0 RL 0 0 -1 0 URD 0 0 8 0 RLR 0 0 0 0 UDUD 0 0 2 5 RDULR 0 0 1 1 RURURU
Вихідні дані 1
NO NO YES 2 -1 0 9 0 YES 2 0 -1 0 1 YES 5 -1 5 2 -1 2 6 3 0 3 5 YES 3 1 2 2 0 2 1