AT_abc454_d [ABC454D] (xx)
Description
`(`, `x`, `)` からなる文字列 $ A $ が与えられます。
あなたは $ A $ に対して次の $ 2 $ 種類の操作を自由な順番で自由な回数行うことが出来ます。
- $ A $ の部分文字列 `(xx)` を $ 1 $ カ所選び、`xx` に置換する。
- $ A $ の部分文字列 `xx` を $ 1 $ カ所選び、`(xx)` に置換する。
`(`, `x`, `)` からなる文字列 $ B $ が与えられます。 $ A $ を $ B $ と一致させることが出来るか判定してください。
$ T $ 個のテストケースが与えられるので、それぞれに対して答えを求めてください。
部分文字列とは $ S $ の **部分文字列** とは、 $ S $ の先頭から $ 0 $ 文字以上、末尾から $ 0 $ 文字以上削除して得られる文字列のことをいいます。
例えば、`ab` は `abc` の部分文字列ですが、`ac` は `abc` の部分文字列ではありません。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ T $ $ \mathrm{case}_1 $ $ \mathrm{case}_2 $ $ \vdots $ $ \mathrm{case}_T $
各テストケースは以下の形式で与えられる。
> $ A $ $ B $
Output Format
$ T $ 行出力せよ。 $ i $ 行目には $ i $ 番目のテストケースの答えを出力せよ。
各テストケースでは、 $ A $ を $ B $ と一致させることが出来る場合は `Yes` を、そうでない場合は `No` を出力せよ。
Explanation/Hint
### Sample Explanation 1
例えば $ 1 $ 番目のテストケースでは、次の手順によって $ A $ を $ B $ と一致させることが出来ます。
- $ A $ の $ 1 $ 文字目から $ 4 $ 文字目の `(xx)` を `xx` に置換する。操作後の $ A $ は `xxx` となる。
- $ A $ の $ 2 $ 文字目から $ 3 $ 文字目の `xx` を `(xx)` に置換する。操作後の $ A $ は `x(xx)` となる。
### Constraints
- $ 1 \leq T \leq 3 \times 10^5 $
- $ A, B $ は `(`, `x`, `)` からなる長さ $ 1 $ 以上 $ 2\times 10^6 $ 以下の文字列
- 全てのテストケースに対する $ |A| + |B| $ の総和は $ 2 \times 10^6 $ 以下 (ここで $ |A| $ は $ A $ の長さを意味する)