#include <bits/stdc++.h>
using namespace std;
int a, b, c, d, n, x[100], cur = 0, ans[100 + 10][100 + 10];
bool sw;
int main() {
  cin >> a >> b >> c >> d >> n;
  for (int i = 0; i < n; i++) cin >> x[i];
  cout << "YES" << endl;
  if (b >= d)
    sw = (d % 2 == 0);
  else
    sw = (b % 2 == 1);
  for (int i = 0; i < max(b, d); i++) {
    int st, en;
    if (i < min(b, d)) {
      st = 0;
      en = a + c;
    } else {
      if (b < d) {
        st = a;
        en = a + c;
      } else {
        st = 0;
        en = a;
      }
    }
    if ((!sw && i % 2 == 0) || (sw && i % 2 == 1)) {
      swap(st, en);
      st--;
      en--;
    }
    for (int j = st; j != en;
         ((!sw && i % 2 == 0) || (sw && i % 2 == 1)) ? j-- : j++)
      if (x[cur] > 0) {
        x[cur]--;
        ans[i][j] = cur + 'a';
        if (x[cur] == 0) cur++;
      }
  }
  for (int i = 0; i < max(d, b); i++, cout << endl)
    for (int j = 0; j < a + c; j++)
      if (ans[i][j] == 0)
        cout << '.';
      else
        cout << char(ans[i][j]);
  return 0;
}
