#include <bits/stdc++.h>
using namespace std;
const int MAXCHARN = 26;
const int MAXN = 105;
int ccnt[MAXCHARN];
char mp[MAXN][MAXN];
int main() {
  int a, b, c, d, n;
  int x, y, dire, ci;
  cin >> a >> b >> c >> d >> n;
  for (int i = 0; i < n; i++) cin >> ccnt[i];
  for (int i = 0; i < max(b, d); i++)
    for (int j = 0; j < a + c; j++) mp[i][j] = '.';
  if (a % 2 == 0)
    x = y = 0, dire = 1;
  else
    x = b - 1, y = 0, dire = -1;
  ci = 0;
  while (y < a + c) {
    if (ccnt[ci] == 0) ci++;
    mp[x][y] = 'a' + ci;
    ccnt[ci]--;
    x += dire;
    if (x < 0)
      x = 0, y++, dire *= -1;
    else if (y < a && x == b || y >= a && x == d)
      x--, y++, dire *= -1;
  }
  cout << "YES" << endl;
  for (int i = 0; i < max(b, d); i++) cout << mp[i] << endl;
  return 0;
}
