#include <bits/stdc++.h>
using namespace std;
const int N = 110;
char c[N][N];
bool bj[N][N];
int n, m;
int main() {
  scanf("%d%d", &n, &m);
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++) {
      if (bj[i][j]) continue;
      char tx;
      for (tx = 'A'; tx <= 'Z'; tx++)
        if (c[i][j - 1] != tx && c[i - 1][j] != tx && c[i][j + 1] != tx &&
            c[i + 1][j] != tx)
          break;
      if (j == m || bj[i][j + 1]) {
        bj[i][j] = 1;
        c[i][j] = tx;
        continue;
      }
      c[i][j] = tx;
      char nx;
      for (nx = 'A'; nx <= 'Z'; nx++)
        if (c[i][j] != nx && c[i - 1][j + 1] != nx && c[i][j + 2] != nx &&
            c[i + 1][j + 1] != nx)
          break;
      if (nx < tx) {
        bj[i][j] = 1;
        continue;
      }
      int x = 0, y = 0;
      while (j + x <= m && bj[i][j + x] == 0 && c[i - 1][j + x] != tx) x++;
      while (i + y <= n && bj[i + y][j] == 0 && c[i + y][j - 1] != tx) y++;
      int len = min(x, y);
      for (int ii = i; ii < i + len; ii++)
        for (int jj = j; jj < j + len; jj++) bj[ii][jj] = 1, c[ii][jj] = tx;
    }
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= m; j++) printf("%c", c[i][j]);
    printf("\n");
  }
  return 0;
}
