#include <bits/stdc++.h>
using namespace std;
int dir[][2] = {{0, 1}, {1, 0}, {-1, 0}, {0, -1}};
int a[120][120], n, m;
int get_color(const int x, const int y) {
  int tmp = 0;
  for (int i = 0; i < 4; ++i) {
    int x0 = x + dir[i][0];
    int y0 = y + dir[i][1];
    tmp |= (1 << a[x0][y0]);
  }
  for (int i = 1; i <= 26; ++i)
    if (!((1 << i) & tmp)) return i;
}
void paint(const int x, const int y, const int len, const int c) {
  for (int i = x; i < x + len; ++i)
    for (int j = y; j < y + len; ++j) a[i][j] = c;
}
void dfs(const int x, const int y) {
  if (x == n + 1) return;
  if (a[x][y]) {
    y < m ? dfs(x, y + 1) : dfs(x + 1, 1);
    return;
  }
  int c = get_color(x, y);
  int len = 1;
  for (;; ++len) {
    if (x + len > n || y + len > m || a[x][y + len]) break;
    int c1 = get_color(x, y + len);
    if (c1 != c) break;
  }
  paint(x, y, len, c);
  y < m ? dfs(x, y + 1) : dfs(x + 1, 1);
}
int main() {
  cin >> n >> m;
  memset(a, 0, sizeof(a));
  dfs(1, 1);
  for (int i = 1; i <= n; ++i, puts(""))
    for (int j = 1; j <= m; ++j) putchar('A' + a[i][j] - 1);
  fclose(stdin);
  fclose(stdout);
  return 0;
}
