#include <bits/stdc++.h>
using namespace std;
char m[200][200];
int a, b, c, d;
char curChar = 'a' - 1;
int rem = 0;
void add(int x, int y) {
  if (b >= d && y >= d && x >= a || b < d && y >= b && x < a) {
    m[y][x] = '.';
    return;
  }
  if (!rem) {
    curChar++;
    scanf("%d", &rem);
  }
  m[y][x] = curChar;
  rem--;
}
int main() {
  int n;
  scanf("%d %d %d %d %d", &a, &b, &c, &d, &n);
  int par;
  if (b >= d) {
    par = d % 2;
  } else {
    par = (b + 1) % 2;
  }
  for (int y = 0; y < max(b, d); y++) {
    if (y % 2 == par) {
      for (int x = 0; x < a + c; x++) {
        add(x, y);
      }
    } else {
      for (int x = a + c - 1; x >= 0; x--) {
        add(x, y);
      }
    }
  }
  printf("YES\n");
  for (int i = 0; i < max(b, d); i++) printf("%s\n", m[i]);
}
