#include <iostream>
using namespace std;
#define N 100000
int str[N];
int tot;
char t;
int is_hardstr(int n, int *str)
{
int i = 1,j;
while (2 * i <= n)
{
for (j = 0; j < i; j++)
{
if (str[j + n - 2 * i] != str[j + n - i])
break;
}
if (j == i)
return 0;
i++;
}
return 1;
}
//困难的串
int print_str(int cur, int n, int L,int *str)
{
if (cur)
{
tot++;
if (n == tot)
{
for (int i = 0; i < cur; i++)
{
t = str[i]; cout << t;
}
cout << endl;
return 1;
}
}
for (int i = 0; i < L; i++)
{
str[cur] = i + 'A';
if (is_hardstr(cur+1, str))
if (print_str(cur + 1, n, L, str))
return 1;
}
return 0;
}
int main()
{
int n, L;
tot = 0;
while(cin >> n >> L)
print_str(0, n, L,str);
return 0;
}