تحتوي هذه المسألة على ملف مرفق. يمكنك استخدامه لمحاكاة وتصور حركات الروبوت.
لدى 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