fn g() -> (i64, i64, (i64, i64)) { let mut s = String::new(); std::io::stdin().read_line(&mut s).ok(); let mut w = s.split_whitespace(); ( w.next().unwrap().parse().unwrap(), w.next().unwrap().parse().unwrap(), match w.next().unwrap() { "R" => (1, 0), "L" => (-1, 0), "U" => (0, 1), _ => (0, -1), }, ) } fn main() { let mut s = String::new(); std::io::stdin().read_line(&mut s).ok(); for _ in 0..s.trim().parse::().unwrap() { let (a, b, (c, d)) = g(); let (mut x, mut y, (mut u, mut v)) = g(); x -= a; y -= b; u -= c; v -= d; println!( "{}", if x * u < 0 && y * v < 0 && x * v == y * u || x == 0 && u == 0 && y * v < 0 || y == 0 && v == 0 && x * u < 0 { "Yes" } else { "No" } ); } }