#include <iostream>
#include <string>
using namespace std;
// 判断删除子串后的s是否等于t
bool canBeMadeEqual(string& s, string& t, int l, int r) {
string modified = s.substr(0, l) + s.substr(r); // 删除 s[l, r) 这段子串
return modified == t; // 检查是否与 t 相等
}
int main() {
int T;
cin >> T;
while (T--) {
int m, n;
cin >> m >> n;
string s, t;
cin >> s >> t;
bool found = false;
for (int i = 0; i <= m - n; i++) {
// 尝试删除 s 中的任意一个子串,使得剩余部分与 t 相等
for (int j = i + n; j <= m; j++) {
if (canBeMadeEqual(s, t, i, j)) {
found = true;
break;
}
}
if (found) break;
}
cout << (found ? "YES" : "NO") << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8g5Yik5pat5Yig6Zmk5a2Q5Liy5ZCO55qEc+aYr+WQpuetieS6jnQKYm9vbCBjYW5CZU1hZGVFcXVhbChzdHJpbmcmIHMsIHN0cmluZyYgdCwgaW50IGwsIGludCByKSB7CiAgICBzdHJpbmcgbW9kaWZpZWQgPSBzLnN1YnN0cigwLCBsKSArIHMuc3Vic3RyKHIpOyAgLy8g5Yig6ZmkIHNbbCwgcikg6L+Z5q615a2Q5LiyCiAgICByZXR1cm4gbW9kaWZpZWQgPT0gdDsgIC8vIOajgOafpeaYr+WQpuS4jiB0IOebuOetiQp9CgppbnQgbWFpbigpIHsKICAgIGludCBUOwogICAgY2luID4+IFQ7CiAgICAKICAgIHdoaWxlIChULS0pIHsKICAgICAgICBpbnQgbSwgbjsKICAgICAgICBjaW4gPj4gbSA+PiBuOwogICAgICAgIHN0cmluZyBzLCB0OwogICAgICAgIGNpbiA+PiBzID4+IHQ7CgogICAgICAgIGJvb2wgZm91bmQgPSBmYWxzZTsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8PSBtIC0gbjsgaSsrKSB7CiAgICAgICAgICAgIC8vIOWwneivleWIoOmZpCBzIOS4reeahOS7u+aEj+S4gOS4quWtkOS4su+8jOS9v+W+l+WJqeS9memDqOWIhuS4jiB0IOebuOetiQogICAgICAgICAgICBmb3IgKGludCBqID0gaSArIG47IGogPD0gbTsgaisrKSB7CiAgICAgICAgICAgICAgICBpZiAoY2FuQmVNYWRlRXF1YWwocywgdCwgaSwgaikpIHsKICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGZvdW5kKSBicmVhazsKICAgICAgICB9CgogICAgICAgIGNvdXQgPDwgKGZvdW5kID8gIllFUyIgOiAiTk8iKSA8PCBlbmRsOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==