这又是一道难题
题号:NC220716
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小蓝最近学习了一些排序算法,其中冒泡排序让他印象深刻。

在冒泡排序中,每次只能交换相邻的两个元素。

小蓝发现,如果对一个字符串中的字符排序,只允许交换相邻的两个字符,则在所有可能的排序方案中,冒泡排序的总交换次数是最少的。

例如,对于字符串lan 排序,只需要1

次交换。对于字符串qiao 排序,总共需要4

次交换。

小蓝的幸运数字是V

,他想找到一个只包含小写英文字母的字符串,对这个串中的字符进行冒泡排序,正好需要V

次交换。请帮助小蓝找一个这样的字符串。如果可能找到多个,请告诉小蓝最短的那个。如果最短的仍然有多个,请告诉小蓝字典序最小的那个。请注意字符串中可以包含相同的字符。

输入描述:

输入一行包含一个整数V

输出描述:

输出一个字符串,为所求的答案。

示例1

输入

复制
4

输出

复制
bbaa

备注:

30%有1<=V<=20

50%有1<=V<=100

100%有1<=V<=10000