func_code_string: #include <bits/stdc++.h>   using namespace std;   const int maxn = 1e5 + 5;   int n, a[maxn], b[maxn], t[maxn];   bool check(int num, int pos) {     t[pos] = num;     if (pos == n) return true;     for (int i = 0; i <= 3; i++) {       if ((num | i) == a[pos] && (num & i) == b[pos]) return check(i, pos + 1);     }     return false;   }   int main() {     scanf( %d , &n);     for (int i = 1; i < n; i++) {       scanf( %d , &a[i]);     }     for (int i = 1; i < n; i++) {       scanf( %d , &b[i]);     }     for (int i = 0; i <= 3; i++) {       if (check(i, 1)) {         printf( YES n );         for (int j = 1; j <= n; j++) {           printf( %d  , t[j]);         }         return 0;       }     }     printf( NO );   }   