等价串
题号:NC16652
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

一串长度为 n 的字符串 A 和一串长度为 m 的字符串 B。并且这两串字符串只会含有 0 或 1 。

铁子可以对字符串 A 执行两种操作,两种操作可以执行任意次。

操作1(无情替换):铁子可以用 11 替换掉 0 ,也可以用 00 替换掉 1 .

操作2(极限删除):铁子可以删除掉 111 ,也可以删除 000 .

现在问,字符串 A 可以变成字符串 B 吗?

输入描述:

第一行有一个整数T,表示有T(1<=T<=1000)组测试数据。

接下来的每组数据,第一行有两个整数n,m(1 \leq n,m \leq 100),表示字符串A和字符串B的长度。

接下来有两行字符串,分别表示字符串A和字符串B。

输出描述:

对于每组测试数据,如果字符串A可以变为字符串B,则输出一行”YES”,否则输出一行”NO”.输出不包括引号。
示例1

输入

复制
3
3 4
010
1110
3 4
010
1111
7 2
0001000
00

输出

复制
YES
NO
YES

说明

对于第一个样例,铁子可以对字符串A使用一次无情替换可以变成1110