#include <bits/stdc++.h>
using namespace std;
const int N = 205, M = 2e4 + 5, inf = 0x3f3f3f3f, mod = 1e9 + 7;
char mp[N][N];
int n, m, a, b, c;
void Herio() {
  puts("IMPOSSIBLE");
  exit(0);
}
int main() {
  scanf("%d%d%d%d%d", &n, &m, &a, &b, &c);
  if (n * m % 2) Herio();
  if (n & 1) a -= m / 2;
  if (m & 1) b -= n / 2;
  if (a < 0 || b < 0) Herio();
  for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++) mp[i][j] = (i / 2 % 2 == j / 2 % 2 ? 'a' : 'b');
  c -= (n / 2) * (m / 2);
  for (int i = 0; i < n - n % 2; i += 2)
    for (int j = 0; j < m - m % 2; j += 2) {
      if (c < 0) {
        if (a > 1)
          a -= 2, mp[i][j] += 2, mp[i][j + 1] += 2, c++;
        else if (b > 1)
          b -= 2, mp[i][j] += 2, mp[i + 1][j] += 2, c++;
        else
          Herio();
      }
    }
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) putchar(mp[i][j]);
    putchar('\n');
  }
  return 0;
}
