#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define ins insert
#define lb lower_bound
#define F first
#define S second
#define int long long
#define pii pair<int, int>
#define sz size()
#define in insert
#define len(x) (int)x.size()
#define all(v) v.begin(),v.end()
#define FOR(x, n, m, d) for(int x = n; x <= m; x += d)
#define FORR(x, n, m, d) for(int x = n; x >= m; x -= d)
#define nikita ios_base::sync_with_stdio(0), cin.tie(0);
const int N = 1e6 + 15;
int n, m, x, y, l, r, k, P = 7, mod = 1e9+7, ans, sum, cnt, a[N];
string func(string s, string str){
FOR(i, 0, s.sz-1, 1){
if(s[i] != str[i]){
if(s[i] != 'J' && str[i] != 'J')s[i] = 'J';
else if(s[i] != 'O' && str[i] != 'O')s[i] = 'O';
else s[i] = 'I';
}
}
return s;
}
void solve(){
string s[4], sk;
vector<string>v;
cin >> n >> s[1] >> s[2] >> s[3];
cin >> m >> sk;
char h;
map<string, bool>mp;
FOR(i, 1, 3, 1){
string sok = s[i];
FOR(j, 1, 3, 1){
sok = func(sok, s[j]);
mp[sok]=1;
}
FOR(ok, 1, 3, 1){
sok = func(sok, s[ok]);
mp[sok]=1;
}
}
cout << (mp[sk] ? "Yes\n" : "No\n");
FOR(i, 1, m, 1){
cin >> l >> r >> h;
FOR(j, l-1, r-1, 1)sk[j] = h;
cnt = 0;
cout << (mp[sk] ? "Yes\n" : "No\n");
}
}
signed main(){
nikita
int t=1;
// cin >> t;
while(t--)solve();
}