import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int t = Integer.parseInt(br.readLine()); PrintWriter pw = new PrintWriter(System.out); for (int z = 0; z < t; z++) { int n = Integer.parseInt(br.readLine()); int n2 = n * 2; int[] x = new int[n2]; int[] y = new int[n2]; char[] c = new char[n2]; for (int i = 0; i < n2; i++) { String[] sa = br.readLine().split(" "); x[i] = Integer.parseInt(sa[0]); y[i] = Integer.parseInt(sa[1]); c[i] = sa[2].charAt(0); } int cx = 0; for (int i = 0; i < n2; i++) { if (c[i] == 'x') { cx++; } } int cy = n2 - cx; Map map = new HashMap<>(); if (cx == cy) { pw.println("Yes"); continue; } else if (cx > cy) { for (int i = 0; i < n2; i++) { if (c[i] == 'x') { map.put(y[i], map.getOrDefault(y[i], 0) + 1); } } } else { for (int i = 0; i < n2; i++) { if (c[i] == 'y') { map.put(x[i], map.getOrDefault(x[i], 0) + 1); } } } int cnt = 0; for (int v : map.values()) { cnt += (v + 1) / 2; } if (cnt <= n) { pw.println("Yes"); } else { pw.println("No"); } } pw.flush(); br.close(); } }