本題附有附件。你可以用佢嚟模擬同埋視覺化機械人嘅移動過程。
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