#include <iostream>
#include <string>
using namespace std;
int main() {
int T; // Number of test cases
cin >> T;
while (T--) {
int n, m;
string s, t;
cin >> n >> m; // Lengths of strings s and t
cin >> s >> t; // Strings s and t
int i = 0, j = 0;
// Use two pointers to check if t is a subsequence of s
while (i < n && j < m) {
if (s[i] == t[j]) {
j++; // Move pointer for t if there's a match
}
i++; // Always move pointer for s
}
// If we've matched all characters of t, print YES, otherwise NO
if (j == m) {
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBpbnQgVDsgIC8vIE51bWJlciBvZiB0ZXN0IGNhc2VzCiAgICBjaW4gPj4gVDsKCiAgICB3aGlsZSAoVC0tKSB7CiAgICAgICAgaW50IG4sIG07CiAgICAgICAgc3RyaW5nIHMsIHQ7CiAgICAgICAgCiAgICAgICAgY2luID4+IG4gPj4gbTsgIC8vIExlbmd0aHMgb2Ygc3RyaW5ncyBzIGFuZCB0CiAgICAgICAgY2luID4+IHMgPj4gdDsgIC8vIFN0cmluZ3MgcyBhbmQgdAoKICAgICAgICBpbnQgaSA9IDAsIGogPSAwOwogICAgICAgIAogICAgICAgIC8vIFVzZSB0d28gcG9pbnRlcnMgdG8gY2hlY2sgaWYgdCBpcyBhIHN1YnNlcXVlbmNlIG9mIHMKICAgICAgICB3aGlsZSAoaSA8IG4gJiYgaiA8IG0pIHsKICAgICAgICAgICAgaWYgKHNbaV0gPT0gdFtqXSkgewogICAgICAgICAgICAgICAgaisrOyAgLy8gTW92ZSBwb2ludGVyIGZvciB0IGlmIHRoZXJlJ3MgYSBtYXRjaAogICAgICAgICAgICB9CiAgICAgICAgICAgIGkrKzsgIC8vIEFsd2F5cyBtb3ZlIHBvaW50ZXIgZm9yIHMKICAgICAgICB9CgogICAgICAgIC8vIElmIHdlJ3ZlIG1hdGNoZWQgYWxsIGNoYXJhY3RlcnMgb2YgdCwgcHJpbnQgWUVTLCBvdGhlcndpc2UgTk8KICAgICAgICBpZiAoaiA9PSBtKSB7CiAgICAgICAgICAgIGNvdXQgPDwgIllFUyIgPDwgZW5kbDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb3V0IDw8ICJOTyIgPDwgZW5kbDsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIDA7Cn0K