#Lutece3386. 循环序列

循环序列

Description

在简单的 ROP(Return Oriented Programming)中经常使用循环序列做动态调试,来确定栈帧中指令指针(instruction pointer,ip)的相对位置。现在,你需要确定 ww 位计算机中(位宽代表寄存器宽度,ww22 的幂)某个程序的某个函数的指令指针位置,为此需要生成一个长度为 nn 的循环序列。由于一个字节为 88 位,所以经常使用多个小写字母来构造这样的序列。

你的任务是:输出一个长为 nn 且只包含小写英文字母的序列,满足将这个序列从左到右每 w/8w/8 个一段,切成 8n/w\lceil 8n/w\rceil 段时,每段互不相同。

Input

一行两个整数 n,wn,w ($1\le n\le \min\{26^{w/8},5\times 10^5\},8\le w\le 10^9$),保证 ww22 的幂次。

Output

输出一行长度为 nn 且仅包含英文小写字母的字符串,表示满足题目条件的序列。如有多个满足条件的序列,输出任意一个均可。

Samples

20 32
aaaabaaacaaadaaaeaaa

Resources

The 22nd UESTC Programming Contest Preliminary