func_code_string: #include <bits/stdc++.h>   using namespace std;   int main() {     ios::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     int a, b, c, d;     int n;     cin >> a >> b >> c >> d >> n;     vector<int> v(n);     for (int i = 0; i < n; i++) {       cin >> v[i];     }     cout <<  YES n ;     int row = max(b, d);     int col = a + c;     char ans[row][col];     for (int i = 0; i < row; i++) {       for (int j = 0; j < col; j++) {         ans[i][j] =  . ;       }     }     int x, y, yc;     int dir;     if (d % 2 == 1) {       y = a + c - 1;       yc = a;       x = d - 1;       dir = -1;     } else {       y = a;       yc = a + c - 1;       x = d - 1;       dir = 1;     }     int ind = 0;     for (int i = x; i >= 0; i--) {       for (int j = y; j < a + c and j > a - 1; j += dir) {         if (v[ind]) {           ans[i][j] =  a  + ind;           v[ind]--;         } else {           ind++;           j -= dir;         }       }       dir = (dir == 1) ? -1 : 1;       swap(y, yc);     }     dir = -1;     y = a - 1;     yc = 0;     for (int i = 0; i < b; i++) {       for (int j = y; j < a and j >= 0; j += dir) {         if (v[ind]) {           ans[i][j] =  a  + ind;           v[ind]--;         } else {           ind++;           j -= dir;         }       }       dir = (dir == 1) ? -1 : 1;       swap(y, yc);     }     for (int i = 0; i < row; i++) {       for (int j = 0; j < col; j++) {         cout << ans[i][j];       }       cout << endl;     }   }   