#include <bits/stdc++.h>
using namespace std;
void solve() {
string parking;
cin >> parking;
int m = (int) parking.size();
string waiting;
cin >> waiting;
int n = (int) waiting.size();
vector<int> a;
for (int i = 0; i < m; ) {
if (parking[i] == 'X') {
i++;
continue;
}
int j = i;
while (j < m && parking[j] == '.') {
++j;
}
if (j - i > 1) {
a.push_back(j - i);
}
i = j;
}
for (int i = 0; i < (int) a.size(); i++) {
a[i]--;
if (a[i] == 1) ++a[i];
}
int l = -1;
int r = n + 1;
while (l < r - 1) {
int mid = (l + r) >> 1;
int countCars = 0;
int countAll = 0;
for (int i = 0; i < mid; i++) {
if (waiting[i] == 'C') ++countCars;
++countAll;
}
vector<int> c(a);
for (int i = 0; i < (int) c.size(); i++) {
if ((c[i] & 1) && countCars > 0) {
c[i] -= 3;
--countCars;
--countAll;
}
}
for (int i = 0; i < (int) c.size(); i++) {
if ((c[i] & 1)) ++c[i];
if (countCars > 1) {
int x = min(c[i] / 6, countCars / 2);
c[i] -= 6 * x;
countCars -= 2 * x;
countAll -= 2 * x;
}
}
int sum = 0;
for (int i : c) {
sum += i;
}
if (countAll * 2 >= sum) {
r = mid;
} else {
l = mid;
}
}
for (int i = 0; i <= l; i++) cout << "Y";
for (int i = l + 1; i <= n; i++) cout << "N";
cout << "\n";
}
int main() {
ios::sync_with_stdio(false); cin.tie(NULL);
int t;
cin >> t;
while (t--) {
solve();
}
}