/* GO HARD OR GO HOME */
#include <iostream>
#include <bits/stdc++.h>
#include <iomanip>
using namespace std;
#define rep(i, a, b) for(int i = a; i <= (b); ++i)
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<ll> vi;
#define fastio ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
typedef long long ll;
typedef unsigned long long ull;
#define pq priority_queue
#define F first
#define S second
#define pb push_back
#define RANGE (r-l+1)
#define CEIL(a,b) (((a)/(b))+(((a)%(b))?1:0))
#define YES cout<<"Yes"<<endl
#define NO cout<<"No"<<endl
void file() {
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
}
void solve() {
int n; cin >> n;
pair<int, int> mp[26];
int lengths[15];
for(int i=0; i<26; i++) mp[i] = {-1, -1};
for (int i = 0; i < n; i++) {
string s;
cin >> s;
lengths[i] = s.size();
for (int j = 0; j < (int)s.size(); j++) {
char c = s[j];
mp[c - 'a'] = {i, j};
}
}
string ability; cin >> ability;
stack<pair<int, int>> st;
int cnt =0; bool flag = 1;
for (char c : ability) {
if (mp[c -'a'].first == -1) {
flag = 0;
break;
}
int id = mp[c-'a'].first;
int pos = mp[c-'a'].second;
if (pos == 0) {
cnt++;
if (lengths[id] > 1) {
st.push({id, 0});
}
}
else {
if (st.empty()) {
flag = 0;
break;
}
pair<int, int> p = st.top();
st.pop();
if (p.first == id && p.second +1 == pos) {
if (pos < lengths[id] -1 ) {
st.push({id, pos});
}
}
else {
flag = 0;
break;
}
}
}
if (flag && st.empty()) {
YES << cnt+1 << endl;
}
else {
NO;
}
}
int main() {
file();
fastio;
int t;
cin >> t;
while (t--) {
solve();
}
// solve();
}
IC8qIEdPIEhBUkQgT1IgR08gSE9NRSAqLwoKI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KI2luY2x1ZGUgPGlvbWFuaXA+CiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogI2RlZmluZSByZXAoaSwgYSwgYikgZm9yKGludCBpID0gYTsgaSA8PSAoYik7ICsraSkKICNkZWZpbmUgYWxsKHgpIGJlZ2luKHgpLCBlbmQoeCkKICNkZWZpbmUgc3ooeCkgKGludCkoeCkuc2l6ZSgpCiB0eXBlZGVmIGxvbmcgbG9uZyBsbDsKIHR5cGVkZWYgcGFpcjxpbnQsIGludD4gcGlpOwogdHlwZWRlZiB2ZWN0b3I8bGw+IHZpOwogI2RlZmluZSBmYXN0aW8gaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKTtjb3V0LnRpZSgwKTsKIHR5cGVkZWYgbG9uZyBsb25nIGxsOwogdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgdWxsOwogI2RlZmluZSBwcSBwcmlvcml0eV9xdWV1ZQogI2RlZmluZSBGIGZpcnN0CiAjZGVmaW5lIFMgc2Vjb25kCiAjZGVmaW5lIHBiIHB1c2hfYmFjawogI2RlZmluZSBSQU5HRSAoci1sKzEpCiAjZGVmaW5lIENFSUwoYSxiKSAoKChhKS8oYikpKygoKGEpJShiKSk/MTowKSkKICNkZWZpbmUgWUVTIGNvdXQ8PCJZZXMiPDxlbmRsCiAjZGVmaW5lIE5PIGNvdXQ8PCJObyI8PGVuZGwKdm9pZCBmaWxlKCkgewogI2lmbmRlZiBPTkxJTkVfSlVER0UKIGZyZW9wZW4oImlucHV0LnR4dCIsICJyIiwgc3RkaW4pOwogZnJlb3Blbigib3V0cHV0LnR4dCIsICJ3Iiwgc3Rkb3V0KTsKICNlbmRpZgp9CnZvaWQgc29sdmUoKSB7CiAgICBpbnQgbjsgY2luID4+IG47CiAgICBwYWlyPGludCwgaW50PiBtcFsyNl07CiAgICBpbnQgbGVuZ3Roc1sxNV07CiAgICBmb3IoaW50IGk9MDsgaTwyNjsgaSsrKSBtcFtpXSA9IHstMSwgLTF9OwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBzdHJpbmcgczsKICAgICAgICBjaW4gPj4gczsKICAgICAgICBsZW5ndGhzW2ldID0gcy5zaXplKCk7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCAoaW50KXMuc2l6ZSgpOyBqKyspIHsKICAgICAgICAgICAgY2hhciBjID0gc1tqXTsKICAgICAgICAgICAgbXBbYyAtICdhJ10gPSB7aSwgan07CiAgICAgICAgfQogICAgfQogICAgICAgIHN0cmluZyBhYmlsaXR5OyBjaW4gPj4gYWJpbGl0eTsKICAgICAgICBzdGFjazxwYWlyPGludCwgaW50Pj4gc3Q7CiAgICAgICAgaW50IGNudCA9MDsgYm9vbCBmbGFnID0gMTsKICAgICAgICBmb3IgKGNoYXIgYyA6IGFiaWxpdHkpIHsKICAgICAgICAgICAgaWYgKG1wW2MgLSdhJ10uZmlyc3QgPT0gLTEpIHsKICAgICAgICAgICAgICAgIGZsYWcgPSAwOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaW50IGlkID0gbXBbYy0nYSddLmZpcnN0OwogICAgICAgICAgICBpbnQgcG9zID0gbXBbYy0nYSddLnNlY29uZDsKICAgICAgICAgICAgaWYgKHBvcyA9PSAwKSB7CiAgICAgICAgICAgICAgICBjbnQrKzsKICAgICAgICAgICAgICAgIGlmIChsZW5ndGhzW2lkXSA+IDEpIHsKICAgICAgICAgICAgICAgICAgICBzdC5wdXNoKHtpZCwgMH0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgaWYgKHN0LmVtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBmbGFnID0gMDsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHBhaXI8aW50LCBpbnQ+IHAgPSBzdC50b3AoKTsKICAgICAgICAgICAgICAgIHN0LnBvcCgpOwogICAgICAgICAgICAgICAgaWYgKHAuZmlyc3QgPT0gaWQgJiYgcC5zZWNvbmQgKzEgPT0gcG9zKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKHBvcyA8IGxlbmd0aHNbaWRdIC0xICkgewogICAgICAgICAgICAgICAgICAgICAgICBzdC5wdXNoKHtpZCwgcG9zfSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgZmxhZyA9IDA7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICBpZiAoZmxhZyAmJiBzdC5lbXB0eSgpKSB7CiAgICAgICAgWUVTIDw8IGNudCsxIDw8IGVuZGw7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBOTzsKICAgIH0KCgp9CgppbnQgbWFpbigpIHsKICAgIGZpbGUoKTsKICAgIGZhc3RpbzsKICAgIGludCB0OwogICAgY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKSB7CiAgICAgICAgc29sdmUoKTsKICAgIH0KICAgIC8vIHNvbHZlKCk7Cn0=