#include <iostream>
#include <vector>
#include <cmath>
#include <numeric>
#include <algorithm>
#include <set>
#include <unordered_set>
#include <cstring>
#include <unordered_map>
#include <iomanip>
#include <queue>
#include <map>
#include <sstream>
#include <stack>
#include <bitset>
#include <random>
using ll = long long;
using namespace std;
void solve() {
int n;
string s, p;
cin >> n >> s >> p;
for (int i = 0; i + 1 < n; ++i) {
if (s[i] == p[i]) {
continue;
}
if (p[i] == '0') {
s[i] = '0';
s[i + 1] = '1';
} else {
s[i] = '1';
s[i + 1] = '0';
}
}
if (s == p) cout << "YES\n";
else cout << "NO\n";
}
int main() {
#ifdef LOCAL
freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
#endif
ios::sync_with_stdio(0);
cin.tie(0);
int t;
cin >> t;
while (t--) solve();
}