有一部專門處理 $\texttt{01}$ 串嘅字串變換機,入面預設咗一個包含若干條規則嘅有限集合 $\mathcal{R}$。每條規則形如 $(u, v)$,其中 $u, v$ 係非空等長嘅 $\texttt{01}$ 串,表示喺一步操作入面,可以揀當前字串嘅一個子串 $u$,並將佢替換成 $v$。每次向部機輸入一對非空等長 $\texttt{01}$ 串 $(s, t)$,部機都會輸出將 $s$ 變換成 $t$ 所需嘅最少操作步數,或者報告無解。
你記得自己曾經向呢部機輸入過 $n$ 對非空等長 $\texttt{01}$ 串 $(s_1, t_1), (s_2, t_2), \dots, (s_n, t_n)$。好彩嘅係,喺你嘅記憶入面,每次詢問唔單止都有解,而且滿足最少操作步數 $d_i \leqslant 2$。
為咗驗證你嘅記憶有冇出現偏差,請你判斷:係咪存在一個規則集 $\mathcal{R}$,令到部機對呢 $n$ 組輸入嘅實際輸出同你嘅記憶完全一致?
輸入格式
第一行包含一個正整數 $T$,表示測試數據組數。
對於每組測試數據,第一行包含一個正整數 $n$,表示詢問記錄嘅數量。接落嚟 $n$ 行,第 $i$ 行包含兩個非空等長 $\texttt{01}$ 串 $s_i, t_i$ 同埋一個整數 $d_i$($0 \leqslant d_i \leqslant 2$),分別表示第 $i$ 次輸入嘅初始串、目標串同埋部機畀出嘅最少操作步數。
輸出格式
對於每組測試數據,輸出一行一個字串。如果存在滿足條件嘅規則集 $\mathcal{R}$,就輸出 YES;否則輸出 NO。
你可以輸出 YES 同 NO 嘅任意大細楷形式,例如 yes、Yes 或者 YES 都會視作相同答案。
範例
輸入格式 1
3 3 010 010 0 001 010 1 001 100 2 2 10 01 1 100 010 2 1 0 1 2
輸出格式 1
YES NO NO
說明
- 第 $1$ 組測試數據:可以構造只包含一條規則嘅集合 $\mathcal{R} = \{(\texttt{01}, \texttt{10})\}$:
- 對於第 $1$ 次詢問,$s_1 = t_1 = \texttt{010}$,唔使任何操作就可以完成變換,最少操作步數係 $0$。
- 對於第 $2$ 次詢問,將 $\texttt{001}$ 嘅後綴 $\texttt{01}$ 替換成 $\texttt{10}$,就可以喺 $1$ 步之內得到 $\texttt{010}$。
- 對於第 $3$ 次詢問,由於 $\texttt{001}$ 同 $\texttt{100}$ 喺第 $1$ 位同第 $3$ 位都唔同,單靠長度為 $2$ 嘅規則冇辦法喺 $1$ 步之內完成變換;但係可以先將初始串 $\texttt{001}$ 嘅後綴 $\texttt{01}$ 替換成 $\texttt{10}$ 得到中間串 $\texttt{010}$,再將中間串 $\texttt{010}$ 嘅前綴 $\texttt{01}$ 替換成 $\texttt{10}$ 得到目標串 $\texttt{100}$,因此最少操作步數係 $2$。
- 第 $2$ 組測試數據:為咗喺 $1$ 步之內將 $\texttt{10}$ 變換成 $\texttt{01}$,規則集 $\mathcal{R}$ 入面必須包含規則 $(\texttt{10}, \texttt{01})$。但係一旦包含呢條規則,第 $2$ 次詢問只需要將 $\texttt{100}$ 嘅前綴 $\texttt{10}$ 替換成 $\texttt{01}$,就可以喺 $1$ 步之內得到 $\texttt{010}$,同記憶入面嘅 $d_2 = 2$ 矛盾。
- 第 $3$ 組測試數據:變換過程入面嘅所有字串都必須係等長嘅 $\texttt{01}$ 串。長度為 $1$ 嘅 $\texttt{01}$ 串只有 $\texttt{0}$ 同 $\texttt{1}$ 兩種,如果可以由 $\texttt{0}$ 變換成 $\texttt{1}$,就必然存在規則 $(\texttt{0}, \texttt{1})$ 而且只需要 $1$ 步就可以完成,唔可能最少需要 $2$ 步。
數據範圍
對於所有測試數據,保證 $T \geqslant 1$,$n \geqslant 1$,$0 \leqslant d_i \leqslant 2$,$1 \leqslant |s_i| = |t_i|$,而且 $s_i, t_i$ 都係只包含字符 $\texttt{0}$ 同 $\texttt{1}$ 嘅字串。
記 $L = \sum_{i=1}^{n} |s_i|$ 為單組測試數據入面所有初始串嘅長度總和,$\sum L$ 為單個測試點入面所有測試數據嘅 $L$ 總和,則保證 $\sum L \leqslant 3\times 10^6$。
本題開啟合理嘅子任務依賴。
| 子任務編號 | 分值 | $\sum L \leqslant$ | 特殊性質 |
|---|---|---|---|
| $1$ | $16$ | $4 \times 10^3$ | A |
| $2$ | $20$ | $3\times 10^6$ | A |
| $3$ | $20$ | $2\times 10^4$ | 無 |
| $4$ | $28$ | $10^5$ | 無 |
| $5$ | $16$ | $3 \times 10^6$ | 無 |
- 特殊性質 A:保證對於所有 $1 \leqslant i \leqslant n$,都有 $|s_i| \geqslant 50$。