#include <bits/stdc++.h>
using namespace std;
const int N = 110;
bool ild[N][N] = {0};
char ans[N][N];
int main() {
  int a, b, c, d, n, i, j, X, x, y, D;
  scanf("%d %d %d %d %d", &a, &b, &c, &d, &n);
  for (i = 1; i <= a; i++)
    for (j = 1; j <= b; j++) ild[i][j] = true;
  for (i = a + 1; i <= a + c; i++)
    for (j = 1; j <= d; j++) ild[i][j] = true;
  if (b > d) {
    if (d & 1) {
      x = a + c;
      y = 1;
      D = -1;
    } else {
      x = 1;
      y = 1;
      D = 1;
    }
  } else {
    if (b & 1) {
      x = 1;
      y = 1;
      D = 1;
    } else {
      x = a + c;
      y = 1;
      D = -1;
    }
  }
  for (i = 1; i <= n; ++i) {
    scanf("%d", &X);
    for (j = 1; j <= X; j++) {
      ans[x][y] = 'a' + i - 1;
      x += D;
      if (!ild[x][y]) {
        x -= D;
        y++;
        D = -D;
      }
    }
  }
  printf("YES\n");
  for (i = 1; i <= max(d, b); i++) {
    for (j = 1; j <= a + c; j++) printf("%c", (ild[j][i] ? ans[j][i] : '.'));
    printf("\n");
  }
  return 0;
}
