#include using namespace std; #define rep(i, n) for (int i = 0; i < (n); ++i) using ll = long long; using ull = unsigned long long; inline void solve() { int n; cin >> n; vector> v(n); rep(i, n) cin >> v[i].first >> v[i].second; bool exi = false; rep(i, n) if (v[i].first == "a") exi = true; if (!exi) { cout << "No" << '\n'; return; } rep(i, n) { if (v[i].first == "a" && v[i].second.contains("a")) { cout << "Yes" << '\n'; return; } } int maxim = 0, minim = 1e9; rep(i, n) { if (v[i].first == "a") { maxim = max(maxim, (int) v[i].second.size()); } if (!v[i].first.contains("a")) { minim = min(minim, (int) v[i].first.size()); } } cout << (maxim >= minim ? "Yes" : "No") << '\n'; } int main() { cin.tie(nullptr)->sync_with_stdio(false); int t; cin >> t; while (t--) solve(); return 0; }