#include <bits/stdc++.h>
using namespace std;
int f[111], f2[111];
char ma[111][111];
int main() {
  int n, k, a, x1, x2, y1, y2;
  while (cin >> x1 >> y1 >> x2 >> y2 >> n) {
    for (int i = 0; i < n; i++) cin >> f[i], f2[i] = f[i];
    int d = max(y1, y2);
    int Min = min(y1, y2);
    int L;
    if (y1 > y2)
      L = 1;
    else
      L = 0;
    int loo = x1 + x2;
    int now = 0;
    int flag = 0;
    for (int i = 1; i <= d; i++) {
      if (i % 2) {
        for (int j = 1; j <= loo; j++) {
          if (i == Min + 1 && !L) {
            flag = 1;
            break;
          }
          if (i > Min && L && j > x1)
            ma[i][j] = '.';
          else if (i > Min && !L && j <= x1)
            ma[i][j] = '.';
          else {
            while (f[now] <= 0) now++;
            ma[i][j] = 'a' + now;
            f[now]--;
          }
        }
        if (flag) break;
      } else {
        for (int j = loo; j >= 1; j--) {
          if (i == Min + 1 && L) {
            flag = 1;
            break;
          }
          if (i > Min && L && j > x1)
            ma[i][j] = '.';
          else if (i > Min && !L && j <= x1)
            ma[i][j] = '.';
          else {
            while (f[now] <= 0) now++;
            ma[i][j] = 'a' + now;
            f[now]--;
          }
        }
      }
    }
    now = 0;
    for (int i = 0; i < n; i++) f[i] = f2[i];
    if (flag)
      for (int i = 1; i <= d; i++) {
        if (i % 2 == 0) {
          for (int j = 1; j <= loo; j++) {
            if (i > Min && L && j > x1)
              ma[i][j] = '.';
            else if (i > Min && !L && j <= x1)
              ma[i][j] = '.';
            else {
              while (f[now] <= 0) now++;
              ma[i][j] = 'a' + now;
              f[now]--;
            }
          }
        } else {
          for (int j = loo; j >= 1; j--) {
            if (i > Min && L && j > x1)
              ma[i][j] = '.';
            else if (i > Min && !L && j <= x1)
              ma[i][j] = '.';
            else {
              while (f[now] <= 0) now++;
              ma[i][j] = 'a' + now;
              f[now]--;
            }
          }
        }
      }
    cout << "YES" << endl;
    for (int i = 1; i <= d; i++, cout << endl)
      for (int j = 1; j <= loo; j++) {
        cout << ma[i][j];
      }
  }
  return 0;
}
