#include <bits/stdc++.h>
using namespace std;
char ans[105][105];
int maxi[105];
int main() {
  int a, b, c, d, n;
  cin >> a >> b >> c >> d >> n;
  vector<int> vec(n);
  for (int i = 0; i < ((int)n); i++) cin >> vec[i];
  for (int i = 0; i < ((int)105); i++)
    for (int j = 0; j < ((int)105); j++) ans[i][j] = '.';
  for (int i = 0; i < ((int)a); i++) maxi[i] = b;
  for (int i = 0; i < ((int)c); i++) maxi[i + a] = d;
  int dir = 1, x = -1, y = 0;
  if (a % 2) dir = -1, x = b;
  for (int i = 0; i < ((int)n); i++)
    for (int j = 0; j < ((int)vec[i]); j++) {
      x += dir;
      if (x < 0 || maxi[y] <= x) {
        dir = -dir;
        x += dir;
        y++;
      }
      ans[x][y] = i + 'a';
    }
  cout << "YES" << endl;
  for (int i = 0; i < ((int)max(b, d)); i++) {
    for (int j = 0; j < ((int)a + c); j++) cout << ans[i][j];
    cout << endl;
  }
}
