#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:16777216")
using namespace std;
int n, m, d;
char mud[200], ch[150][150];
bool check(int x, int y, char t) {
  int k = y;
  if (ch[x - 1][y] == t || ch[x][y + 1] == t) return false;
  ch[x][y] = t;
  while (k > 0 && ch[x][k] == t) k--;
  int d = y - k;
  if (x + d - 1 > n) {
    ch[x][y] = '#';
    return false;
  }
  for (long long i = x; i <= x + d - 1; i++) ch[i][y] = t;
  for (long long i = k + 1; i <= y; i++) ch[x + d - 1][i] = t;
  return true;
}
int main() {
  scanf("%d%d", &n, &m);
  for (long long i = 1; i <= n; i++)
    for (long long j = 1; j <= m; j++) {
      if (ch[i][j] >= 'A' && ch[i][j] <= 'Z') continue;
      for (char k = 'A'; k <= 'Z'; k++) {
        if (check(i, j, k)) break;
      }
    }
  for (long long i = 1; i <= n; i++) {
    for (int j = 1; j < m; j++) printf("%c", ch[i][j]);
    printf("%c\n", ch[i][m]);
  }
}
