#include <bits/stdc++.h>
using namespace std;
const int maxn = 1000 + 10;
const int inf = (-1u) >> 1;
char s[64][128];
int a, b, c, d, n, num;
int main() {
  while (scanf("%d%d%d%d%d", &a, &b, &c, &d, &n) != EOF) {
    for (int i = 0; i < (max(b, d)); ++i) {
      for (int j = 0; j < (a + c); ++j) {
        s[i][j] = '.';
      }
      s[i][a + c] = 0;
    }
    int x = 0, y = 0, dy = 1;
    if (a & 1) {
      y = b - 1;
      dy = -1;
    }
    for (int i = 0; i < (n); ++i) {
      char ch = (char)('a' + i);
      scanf("%d", &num);
      while (num--) {
        s[y][x] = ch;
        y += dy;
        if (y < 0 || y >= (x < a ? b : d)) {
          y -= dy;
          dy = -dy;
          ++x;
        }
      }
    }
    puts("YES");
    for (int i = 0; i < (max(b, d)); ++i) {
      puts(s[i]);
    }
  }
  return 0;
}
