#include <bits/stdc++.h>
char res[105][105];
int n, a, b, c, d;
int main() {
  scanf("%d%d%d%d%d", &a, &b, &c, &d, &n);
  for (int i = 1; i <= a; i++)
    for (int j = 1; j <= b || j <= d; j++) res[j][i] = j <= b ? '*' : '.';
  for (int i = a + 1; i <= a + c; i++)
    for (int j = 1; j <= b || j <= d; j++) res[j][i] = j <= d ? '*' : '.';
  int x, y, dir;
  if (a & 1)
    x = b, dir = -1;
  else
    x = 1, dir = 1;
  y = 1;
  for (int i = 0, k; i < n; i++) {
    for (scanf("%d", &k); k--;) {
      res[x][y] = 'a' + i;
      if (res[x + dir][y] != '*')
        y++, dir *= -1;
      else
        x += dir;
    }
  }
  printf("YES\n");
  for (int i = 1; i <= b || i <= d; i++) printf("%s\n", res[i] + 1);
}
