Бұл есептің қосымша файлы бар. Оны роботтың қозғалысын модельдеу және визуализациялау үшін пайдалана аласыз.
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$) берілген.
Үшінші жолда тек L, R, U және D таңбаларынан тұратын $p$ ($1 \le |p| \le 10^5$) нұсқаулар жолы берілген.
Барлық тест жағдайлары бойынша $|p|$ қосындысы $10^5$-нен аспайтынына кепілдік беріледі.
Шығыс деректері
Әр тест жағдайы үшін жауапты енгізу ретімен шығарыңыз. Әртүрлі тест жағдайлары үшін кедергілерді орналастыру бір-біріне тәуелсіз.
Егер жарамды орналастыру болмаса, жеке жолға NO деп шығарыңыз.
Әйтпесе, бірінші жолға YES деп шығарыңыз. Екінші жолға кедергілер санын білдіретін бір бүтін сан $k$ ($0 \le k \le |p|$) шығарыңыз.
Содан кейін $k$ жол шығарыңыз. Осы жолдардың $i$-шісінде $(x_i, y_i)$ ұяшығындағы кедергіні көрсететін екі бүтін сан $x_i$ және $y_i$ ($-2 \cdot 10^9 \le x_i, y_i \le 2 \cdot 10^9$) болуы тиіс.
Барлық $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