לבעיה זו מצורף קובץ. ניתן להשתמש בו כדי לדמות ולהמחיש חזותית את תנועות הרובוט.
ל-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