#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
ios_base::sync_with_stdio(0);
cout.tie(0); cout.tie(0);
int tt = 1;
while(tt--){
int n , x , y , z;
cin >> n >> x >> y >> z;
string a , b , s , ans(n , '.');
cin >> a >> b >> s;
bool ok = 1;
for(int i = 0 ; i < n ; i++){
if(a[i] == '0' && b[i] == '0' && s[i] == '1')
ok = 0;
}
for(int i = 0 ; i < n ; i++){
if(a[i] != b[i] && s[i] == '0'){
if(x > 0) {
x--;
ans[i] = '&';
}
else ok = 0;
}
}
for(int i = 0 ; i < n ; i++){
if(a[i] == '1' && b[i] == '1' && s[i] == '0'){
if(z > 0){
z--;
ans[i] = '^';
}
else ok = 0;
}
}
// x , y , z
//and , or , xor
for(int i = 0 ; i < n ; i++){
if(ans[i] != '.') continue;
if(a[i] == '1' && b[i] == '1' && s[i] == '1' && x > 0){
ans[i] = '&';
x--;
}
}
for(int i = 0 ; i < n ; i++){
if(ans[i] != '.') continue;
if(a[i] != b[i] && s[i] == '1' && z > 0){
ans[i] = '^';
z--;
}
}
for(int i = 0 ; i < n ; i++){
if(ans[i] != '.') continue;
if(a[i] != b[i] && s[i] == '1'){
if(y > 0) {
ans[i] = '|';
y--;
}
else ok = 0;
}
if(a[i] == '1' && b[i] == '1' && s[i] == '1' && y > 0){
if(y > 0){
ans[i] = '|';
y--;
}
else ok = 0;
}
}
for(int i = 0 ; i < n ; i++){
if(ans[i] == '.'){
if(x > 0)
ans[i] = '&' , x--;
else if(y > 0)
ans[i] = '|' , y--;
else if(z > 0)
ans[i] = '^' , z--;
else ok = 0;
}
}
if(!ok){
return cout << "NO",0;
}
cout << "YES\n";
cout << ans;
}
return 0;
}
Copy