#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
// Check if string t can be formed by removing characters from s
bool canForm = false;
// Try to find substring of s that can match t
for (int i = 0; i <= n - m; i++) {
string sub = s.substr(i, m);
if (sub == t) {
canForm = true;
break;
}
}
// Output result based on the check
if (canForm) {
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBpbnQgVDsgIC8vIE51bWJlciBvZiB0ZXN0IGNhc2VzCiAgICBjaW4gPj4gVDsKCiAgICB3aGlsZSAoVC0tKSB7CiAgICAgICAgaW50IG4sIG07CiAgICAgICAgc3RyaW5nIHMsIHQ7CiAgICAgICAgCiAgICAgICAgY2luID4+IG4gPj4gbTsgIC8vIExlbmd0aHMgb2Ygc3RyaW5ncyBzIGFuZCB0CiAgICAgICAgY2luID4+IHMgPj4gdDsgIC8vIFN0cmluZ3MgcyBhbmQgdAoKICAgICAgICAvLyBDaGVjayBpZiBzdHJpbmcgdCBjYW4gYmUgZm9ybWVkIGJ5IHJlbW92aW5nIGNoYXJhY3RlcnMgZnJvbSBzCiAgICAgICAgYm9vbCBjYW5Gb3JtID0gZmFsc2U7CiAgICAgICAgCiAgICAgICAgLy8gVHJ5IHRvIGZpbmQgc3Vic3RyaW5nIG9mIHMgdGhhdCBjYW4gbWF0Y2ggdAogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDw9IG4gLSBtOyBpKyspIHsKICAgICAgICAgICAgc3RyaW5nIHN1YiA9IHMuc3Vic3RyKGksIG0pOwogICAgICAgICAgICBpZiAoc3ViID09IHQpIHsKICAgICAgICAgICAgICAgIGNhbkZvcm0gPSB0cnVlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy8gT3V0cHV0IHJlc3VsdCBiYXNlZCBvbiB0aGUgY2hlY2sKICAgICAgICBpZiAoY2FuRm9ybSkgewogICAgICAgICAgICBjb3V0IDw8ICJZRVMiIDw8IGVuZGw7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY291dCA8PCAiTk8iIDw8IGVuZGw7CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiAwOwp9Cg==