#d2500. 异或和或

异或和或

异或和或

题目描述

对于一个长度为 nn 的0101序列 a1,a2,…,ana_1,a_2,\dots ,a_n。

你可以执行以下操作任意多次:

  • 选择两个下标 1≤i,j≤n(i≠j)1 \leq i, j \leq n (i \neq j)。
  • 记x=ai xor ajx = a_i \ \mathrm{xor} \ a_j , y=ai or ajy = a_i \ \mathrm{or} \ a_j , 其中 xor\mathrm{xor} 表示按位异或 , or\mathrm{or} 表示按位或。
  • 然后令 ai=x,aj=ya_i = x , a_j = y 或 ai=y,aj=xa_i = y , a_j = x。

给定两个0101序列 s,ts , t , 请你判断是否可以通过有限次(可以为00次)操作将序列 ss 变为 tt。

输入格式

第一行一个整数 tt , 表示数据的组数(1≤t≤103)(1 \leq t \leq 10^3)。接下来 tt 组数据:

每组第一行一个0101字符串 s(1≤∣s∣≤103)s (1 \leq |s| \leq 10^3),每组第二行一个0101字符串 t(1≤∣t∣≤103)t (1 \leq |t| \leq 10^3)。

注意:∣s∣|s| 可能不等于 ∣t∣|t|。

输出格式

如果可以通过有限次(可以为00次)操作将序列 ss 变为 tt , 输出 YES , 否则输出 NO。

样例输入

2
001
011
11
101

样例输出

YES
NO

样例解释

第一组数据选择 i=2,j=3i = 2 , j = 3 , 那么 x=1,y=1x = 1 , y = 1 , 接着令 ai=x,aj=ya_i = x , a_j = y 即可得到 tt 序列。

第二组数据 ∣s∣=2,∣t∣=3|s| = 2 , |t| = 3 显然无法满足要求。