#include <bits/stdc++.h>
using namespace std;
const int maxn = 100 + 10;
int a[maxn][maxn];
int n, m;
int main() {
  cin >> n >> m;
  for (int i = 0; i <= max(n, m) + 1; ++i)
    for (int j = 0; j <= max(n, m) + 1; ++j)
      if (i <= 0 || i > n || j <= 0 || j > m) a[i][j] = -2;
  for (int i = 1; i <= n; ++i)
    for (int j = 1; j <= m; ++j) a[i][j] = -1;
  for (int i = 1; i <= n; ++i)
    for (int j = 1; j <= m; ++j)
      if (a[i][j] == -1)
        for (int k = 0; k < 26; ++k) {
          if (a[i][j + 1] == k) continue;
          if (a[i - 1][j] == k) continue;
          bool flag = 1;
          int l;
          for (l = j - 1; l >= 1; --l) {
            if (a[i][l] != k) break;
            if (a[i - 1][l] == k) flag = 0;
          }
          l++;
          if (!flag) continue;
          for (int p = i; p <= i + j - l; ++p)
            for (int q = l; q <= j; ++q)
              if (a[p][q] != k && a[p][q] != -1) {
                flag = 0;
                break;
              }
          if (!flag) continue;
          for (int p = i; p <= i + j - l; ++p)
            for (int q = l; q <= j; ++q) a[p][q] = k;
          break;
        }
  for (int i = 1; i <= n; ++i) {
    for (int j = 1; j <= m; ++j) printf("%c", 'A' + a[i][j]);
    printf("\n");
  }
  return 0;
}
