#include <bits/stdc++.h>
using namespace std;
int n, m, a, b, c, st[105][105], flag = 1;
char st1[105][105];
void cc(int i, int j) {
  st[i][j] = st[i + 1][j] = st[i][j + 1] = st[i + 1][j + 1] = 3;
}
void bb(int i, int j) { st[i][j] = st[i + 1][j] = 2; }
void aa(int i, int j) { st[i][j] = st[i][j + 1] = 1; }
void aaa(int x, int y) {
  char s;
  for (char i = 'a';; i++) {
    if (i != st1[x - 1][y] && i != st1[x + 1][y] && i != st1[x][y - 1] &&
        i != st1[x][y + 2] && i != st1[x - 1][y + 1] &&
        i != st1[x + 1][y + 1]) {
      s = i;
      break;
    }
  }
  st1[x][y] = st1[x][y + 1] = s;
  st[x][y] = st[x][y + 1] = 0;
}
void bbb(int x, int y) {
  char s;
  for (char i = 'a';; i++) {
    if (i != st1[x - 1][y] && i != st1[x + 2][y] && i != st1[x][y - 1] &&
        i != st1[x][y + 1] && i != st1[x + 1][y + 1] &&
        i != st1[x + 1][y - 1]) {
      s = i;
      break;
    }
  }
  st1[x][y] = st1[x + 1][y] = s;
  st[x][y] = st[x + 1][y] = 0;
}
void ccc(int x, int y) {
  char s;
  for (char i = 'a';; i++) {
    if (i != st1[x - 1][y] && i != st1[x - 1][y + 1] && i != st1[x][y - 1] &&
        i != st1[x][y + 2] && i != st1[x + 1][y - 1] &&
        i != st1[x + 1][y + 2] && i != st1[x + 2][y] &&
        i != st1[x + 2][y + 1]) {
      s = i;
      break;
    }
  }
  st1[x][y] = st1[x][y + 1] = st1[x + 1][y] = st1[x + 1][y + 1] = s;
  st[x][y] = st[x][y + 1] = st[x + 1][y] = st[x + 1][y + 1] = 0;
}
int main() {
  cin >> n >> m >> a >> b >> c;
  if ((m * n) % 2 == 1 || m * n > 2 * a + 2 * b + 4 * c) {
    printf("IMPOSSIBLE\n");
    return 0;
  }
  c -= (m / 2) * (n / 2);
  for (int i = 1; i <= n; i += 2) {
    for (int j = 1; j <= m; j += 2) {
      cc(i, j);
    }
  }
  if (m % 2 == 1) {
    for (int i = 1; i <= n; i += 2) {
      bb(i, m);
      b--;
    }
  }
  if (n % 2 == 1) {
    for (int i = 1; i <= m; i += 2) {
      aa(n, i);
      a--;
    }
  }
  if (a < 0 || b < 0) {
    printf("IMPOSSIBLE\n");
    return 0;
  }
  if (c < 0) {
    for (int i = 1; i <= n; i++) {
      for (int j = 1; j <= m; j++) {
        if (st[i][j] == 3) {
          if (a >= 2) {
            aa(i, j);
            aa(i + 1, j);
            a -= 2;
            c++;
          } else if (b >= 2) {
            bb(i, j);
            bb(i, j + 1);
            b -= 2;
            c++;
          } else {
            flag = 0;
            break;
          }
        }
        if (c == 0) break;
      }
      if (flag == 0) break;
      if (c == 0) break;
    }
  }
  if (flag == 0) {
    printf("IMPOSSIBLE\n");
    return 0;
  } else {
    for (int i = 1; i <= n; i++) {
      for (int j = 1; j <= m; j++) {
        if (st[i][j] == 0)
          continue;
        else if (st[i][j] == 1) {
          aaa(i, j);
        } else if (st[i][j] == 2) {
          bbb(i, j);
        } else if (st[i][j] == 3) {
          ccc(i, j);
        }
      }
    }
    for (int i = 1; i <= n; i++) {
      for (int j = 1; j <= m; j++) printf("%c", st1[i][j]);
      printf("\n");
    }
  }
  return 0;
}
