#include <bits/stdc++.h>
using namespace std;
const int dx[] = {0, -1, 1, 0, 0};
const int dy[] = {0, 0, 0, -1, 1};
char ans[110][110];
int n, m;
char get(int x, int y) {
  if (ans[x][y]) return ans[x][y];
  for (int i = 0; i < 26; i++) {
    bool ok = 1;
    char ch = i + 'A';
    for (int j = 1; j <= 4; j++) {
      if (ans[x + dx[j]][y + dy[j]] == ch) {
        ok = 0;
      }
    }
    if (ok) return ch;
  }
}
int main() {
  scanf("%d%d", &n, &m);
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= m; j++) {
      char ch = get(i, j);
      printf("%c", ch);
      if (ans[i][j]) continue;
      int len = 1;
      while (i + len <= n && j + len <= m) {
        if (get(i, j + len) != ch) {
          break;
        }
        len++;
      }
      len--;
      for (int x = i; x <= i + len; x++) {
        for (int y = j; y <= j + len; y++) {
          ans[x][y] = ch;
        }
      }
    }
    puts("");
  }
  return 0;
}
