#include <bits/stdc++.h>
using namespace std;
int a, b, c, d, n;
bool ch(int x, int y) {
  if (x < 0 || x >= a + c || y < 0) return false;
  if (x < a && y < b) return true;
  if (x >= a && y < d) return true;
  return false;
}
int main() {
  char res[101][101];
  memset(res, '.', sizeof(res));
  cin >> a >> b >> c >> d >> n;
  char cur = 'a';
  int oy_pos, ox_pos = 0, vec;
  if (a % 2 == 1) {
    oy_pos = b - 1;
    vec = -1;
  } else {
    oy_pos = 0;
    vec = 1;
  }
  for (int i = 0; i < n; i++) {
    int s;
    cin >> s;
    while (s != 0) {
      res[ox_pos][oy_pos] = cur;
      if (ch(ox_pos, oy_pos + vec)) {
        oy_pos += vec;
      } else {
        ox_pos++;
        vec *= -1;
      }
      s--;
    }
    cur++;
  }
  cout << "YES" << endl;
  for (int i = 0; i < ((d > b) ? (d) : (b)); i++) {
    for (int j = 0; j < a + c; j++) cout << res[j][i];
    cout << endl;
  }
}
