#include <bits/stdc++.h>
using namespace std;
int n, a[2][200005];
bool vis[2][200005][2];
bool f(int x, int y, int z) {
  if (x == 1 && y == n) return true;
  if (y >= n) return false;
  if (vis[x][y][z]) return false;
  vis[x][y][z] = true;
  if (a[x][y] < 3) {
    if (z) return false;
    return f(x, y + 1, 0);
  } else {
    if (x) {
      if (z) return f(x, y + 1, 0);
      return f(x - 1, y, 1);
    } else {
      if (z) return f(x, y + 1, 0);
      return f(x + 1, y, 1);
    }
  }
}
int main() {
  int q;
  scanf("%d", &q);
  while (q--) {
    scanf("%d", &n);
    for (int i = 0; i < n; i++) scanf("%1d", &a[0][i]);
    for (int i = 0; i < n; i++) scanf("%1d", &a[1][i]);
    memset(vis, 0, sizeof(vis));
    if (f(0, 0, 0))
      puts("YES");
    else
      puts("NO");
  }
  return 0;
}
