#include <bits/stdc++.h>
using namespace std;
long long mod1 = 998244353;
long long mod = 1e9 + 7;
long long mod2 = 1e17 + 3;
const long long N = 3010;
long long n, m, a, b, c;
char ans[102][102];
void solve() {
  cin >> n >> m >> a >> b >> c;
  if (n % 2 && m % 2) {
    cout << "IMPOSSIBLE";
    return;
  }
  if (n * m > 2 * a + 2 * b + 4 * c) {
    cout << "IMPOSSIBLE";
    return;
  }
  if (n % 2 && m / 2 > a) {
    cout << "IMPOSSIBLE";
    return;
  }
  if (m % 2 && n / 2 > b) {
    cout << "IMPOSSIBLE";
    return;
  }
  for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++) ans[i][j] = '$';
  if (n % 2) {
    for (int i = 0; i < m; i += 2)
      if ((i / 2) % 2 == 0)
        ans[n - 1][i] = 'c', ans[n - 1][i + 1] = 'c', a--;
      else
        ans[n - 1][i] = 'd', ans[n - 1][i + 1] = 'd', a--;
  }
  if (m % 2) {
    for (int i = 0; i < n; i += 2)
      if ((i / 2) % 2 == 0)
        ans[i][m - 1] = ans[i + 1][m - 1] = 'c', b--;
      else
        ans[i][m - 1] = ans[i + 1][m - 1] = 'd', b--;
  }
  char z = 'a';
  for (int i = 0; i < n && c; i += 2) {
    if ((i / 2) % 2 == 0)
      z = 'a';
    else
      z = 'b';
    for (int j = 0; j < m && c; j += 2) {
      if (i + 1 >= n || j + 1 >= m) continue;
      c--;
      for (int k = 0; k < 2; k++)
        for (int l = 0; l < 2; l++) ans[i + k][j + l] = z;
      if (z == 'a')
        z = 'b';
      else
        z = 'a';
    }
  }
  for (int i = 0; i < n; i += 2) {
    for (int j = 0; j < m; j += 2) {
      if (ans[i][j] == '$') {
        if (a > 1) {
          if ((j / 2) % 2 == 0) {
            ans[i][j] = ans[i][j + 1] = 'e';
            ans[i + 1][j] = ans[i + 1][j + 1] = 'f';
          } else {
            ans[i][j] = ans[i][j + 1] = 'g';
            ans[i + 1][j] = ans[i + 1][j + 1] = 'h';
          }
          a -= 2;
        } else if (b > 1) {
          if ((i / 2) % 2 == 0) {
            ans[i][j] = ans[i + 1][j] = 'i';
            ans[i][j + 1] = ans[i + 1][j + 1] = 'j';
          } else {
            ans[i][j] = ans[i + 1][j] = 'k';
            ans[i][j + 1] = ans[i + 1][j + 1] = 'l';
          }
          b -= 2;
        }
      }
    }
  }
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      if (ans[i][j] == '$') {
        cout << "IMPOSSIBLE";
        return;
      }
    }
  }
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) cout << ans[i][j];
    cout << "\n";
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  int t = 1;
  while (t--) {
    solve();
  }
  return 0;
}
