#include <iostream>
#include <string>
using namespace std;
bool isValid(string s, string t, int m, int n) {
// Try to match t in s from any position
for (int i = 0; i <= m - n; i++) {
bool isMatch = true;
for (int j = 0; j < n; j++) {
if (s[i + j] != t[j] && s[i + j] != t[j] - 'a' + 'A' && s[i + j] != t[j] - 'A' + 'a') {
isMatch = false;
break;
}
}
if (isMatch) return true;
}
return false;
}
int main() {
int T;
cin >> T; // Number of test cases
while (T--) {
int m, n;
cin >> m >> n; // Length of the two strings
string s, t;
cin >> s >> t; // The two strings
if (isValid(s, t, m, n)) {
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKYm9vbCBpc1ZhbGlkKHN0cmluZyBzLCBzdHJpbmcgdCwgaW50IG0sIGludCBuKSB7CiAgICAvLyBUcnkgdG8gbWF0Y2ggdCBpbiBzIGZyb20gYW55IHBvc2l0aW9uCiAgICBmb3IgKGludCBpID0gMDsgaSA8PSBtIC0gbjsgaSsrKSB7CiAgICAgICAgYm9vbCBpc01hdGNoID0gdHJ1ZTsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IG47IGorKykgewogICAgICAgICAgICBpZiAoc1tpICsgal0gIT0gdFtqXSAmJiBzW2kgKyBqXSAhPSB0W2pdIC0gJ2EnICsgJ0EnICYmIHNbaSArIGpdICE9IHRbal0gLSAnQScgKyAnYScpIHsKICAgICAgICAgICAgICAgIGlzTWF0Y2ggPSBmYWxzZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmIChpc01hdGNoKSByZXR1cm4gdHJ1ZTsKICAgIH0KICAgIHJldHVybiBmYWxzZTsKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgVDsKICAgIGNpbiA+PiBUOyAgLy8gTnVtYmVyIG9mIHRlc3QgY2FzZXMKICAgIAogICAgd2hpbGUgKFQtLSkgewogICAgICAgIGludCBtLCBuOwogICAgICAgIGNpbiA+PiBtID4+IG47ICAvLyBMZW5ndGggb2YgdGhlIHR3byBzdHJpbmdzCiAgICAgICAgCiAgICAgICAgc3RyaW5nIHMsIHQ7CiAgICAgICAgY2luID4+IHMgPj4gdDsgIC8vIFRoZSB0d28gc3RyaW5ncwogICAgICAgIAogICAgICAgIGlmIChpc1ZhbGlkKHMsIHQsIG0sIG4pKSB7CiAgICAgICAgICAgIGNvdXQgPDwgIllFUyIgPDwgZW5kbDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb3V0IDw8ICJOTyIgPDwgZW5kbDsKICAgICAgICB9CiAgICB9CiAgICAKICAgIHJldHVybiAwOwp9Cgo=