#include <bits/stdc++.h>
using namespace std;
const int dx[4] = {0, 1, -1, 0};
const int dy[4] = {1, 0, 0, -1};
int g[105][105], n, m;
void draw(int x, int y, int k, int color) {
  int i, j;
  for (i = x; i < x + k; i++)
    for (j = y; j < y + k; j++) g[i][j] = color;
}
int work(int x, int y) {
  int v[30] = {}, i;
  for (i = 0; i < 4; i++) v[g[x + dx[i]][y + dy[i]]] = 1;
  for (i = 1; i < 30; i++)
    if (!v[i]) return i;
}
void dfs(int x, int y) {
  if (y > m) x++, y = 1;
  if (x > n) return;
  if (g[x][y]) {
    dfs(x, y + 1);
    return;
  }
  int c = work(x, y), p = 1;
  while (1) {
    if (x + p > n || y + p > m || g[x][y + p] || work(x, y + p) != c) break;
    p++;
  }
  draw(x, y, p, c);
  dfs(x, y + 1);
}
int main() {
  cin >> n >> m;
  dfs(1, 1);
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= m; j++) printf("%c", g[i][j] + 'A' - 1);
    printf("\n");
  }
  return 0;
}
