#include <iostream>
#include <string>
using namespace std;
string nextWord(string &str, int N) //求str的下壹個字典序號
{
//求str的大小,size函數返回size_type類型,而不是int類型
string::size_type sz = str.size();
if (sz == 0) //如果是空字符串,設為A,並返回
return str = "A";
//end表示第N個字母,即字典中最大的字符。假設N=3,那麽end就是C
const char end = 'A' + N - 1;
//如果第壹個字符就是最大的,比如字典C,那它沒有下壹個字典序號了。將str置為空,並返回
if (str[0] == end)
return str = "";
//如果最後壹個字符為end,那麽刪除它,並將前壹位+1
//比如ABC,最後壹位為C,那麽刪除C,將B+1,變成AC
if (str[sz-1] == end)
{
str.erase(sz-1);
str[sz-2] += 1;
}
//否則,它的長度壹定小於N,再給它增加壹個字符
//比如AB,給它增加壹個字符B+1,變成ABC
else
str += str[sz-1] + 1;
return str;
}
int main()
{
string str;
int N, K;
cin >> N >> K;
for (int i = 1; i <= K; ++i) //求str的下壹個字典,直到求出第K個
nextWord(str, N);
cout << str << endl;
return 0;
}