func_code_string: #include <bits/stdc++.h>   using namespace std;   long long binpow(long long a, long long b) {     a = a % 1000000007;     long long res = 1;     while (b > 0) {       if (b & 1) res *= a % 1000000007;       a = a * a % 1000000007;       b = b >> 1;     }     return res;   }   void speedup() {     ios::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);   }   int dx[] = {1, -1, 2, 2, -2, -2, 1, -1};   int dy[] = {2, 2, 1, -1, 1, -1, -2, -2};   int bfs(int sx, int sy, int desx, int desy) {     int vis[9][9];     int d[9][9];     for (int i = 1; i <= 8; i++) {       for (int j = 1; j <= 8; j++) {         vis[i][j] = 0;         d[i][j] = 0;       }     }     vis[sx][sy] = 1;     queue<pair<int, int> > q;     q.push(pair<int, int>(sx, sy));     while (!q.empty()) {       pair<int, int> top = q.front();       q.pop();       for (int i = 0; i < 8; i++) {         int tx = top.first + dx[i];         int ty = top.second + dy[i];         if (tx >= 1 && tx <= 8 && ty >= 1 && ty <= 8 && vis[tx][ty] == 0) {           vis[tx][ty] = 1;           d[tx][ty] = d[top.first][top.second] + 1;           q.push(pair<int, int>(tx, ty));         }       }     }     return d[desx][desy];   }   int main() {     speedup();     int n;     cin >> n;     int a[n], l[n], r[n];     for (int i = 0; i < n; i++) cin >> l[i];     for (int i = 0; i < n; i++) cin >> r[i];     for (int i = 0; i < n; i++) a[i] = n - l[i] - r[i];     for (int i = 0; i < n; i++) {       for (int j = 0; j < i; j++) {         l[i] -= (a[j] > a[i]);       }     }     for (int i = 0; i < n; i++) {       for (int j = i + 1; j < n; j++) {         r[i] -= (a[j] > a[i]);       }     }     for (int i = 0; i < n; i++) {       if (l[i] != 0 || r[i] != 0) {         cout <<  NO n ;         return 0;       }     }     cout <<  YES n ;     for (int i = 0; i < n; i++) cout << a[i] <<    ;     cout <<   n ;   }   