#include <bits/stdc++.h>
using namespace std;
int n, m;
char s[100 + 100][100 + 10];
char get_min(int x, int y) {
  char help;
  help = 'A';
  while (help == s[x - 1][y] or (help == s[x][y - 1]) or
         (help == s[x + 1][y]) or (help == s[x][y + 1]))
    help++;
  return help;
}
int main() {
  cin >> n >> m;
  for (int i = 0; i <= n; i++) {
    for (int j = 0; j <= m; j++) {
      s[i][j] = '#';
    }
  }
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= m; j++) {
      if (s[i][j] == '#') {
        char mi;
        mi = get_min(i, j);
        if (j == 1 or mi < s[i][j - 1])
          s[i][j] = mi;
        else {
          int len = 0;
          int x = i;
          int y = j;
          while (y > 1 && s[x][y - 1] == s[i][j - 1]) y--;
          len = j - y + 1;
          if (len + x - 1 <= n && (i == 1 || (s[i - 1][j] != s[i][j - 1])) &&
              len + y - 1 <= m) {
            for (int l = 0; l < len; l++) {
              s[x + l][y + len - 1] = s[x][y];
              s[x + len - 1][y + l] = s[x][y];
            }
          } else
            s[i][j] = mi;
        }
      }
    }
  }
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= m; j++) {
      cout << (char)s[i][j];
    }
    cout << endl;
  }
  return 0;
}
