时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
给你一个正整数

,请你按字典序从小到大输出前

个大写字母全排列

。
【广义的字典序比较】从字符串的第一个字符开始逐个比较,直到找到第一个不同的位置,通过比较这个位置字符的

码大小得到字符串的大小,称为
字典序比较。例如,字符串

和

比较时,由于第一个字符不相同,所以

。
输入描述:
第一行有一个正整数
。
输出描述:
输出有
行,第
行表示字典序第
小的答案。
示例2
输出
复制
A+B+C+D Problem
A+B+D+C Problem
A+C+B+D Problem
A+C+D+B Problem
A+D+B+C Problem
A+D+C+B Problem
B+A+C+D Problem
B+A+D+C Problem
B+C+A+D Problem
B+C+D+A Problem
B+D+A+C Problem
B+D+C+A Problem
C+A+B+D Problem
C+A+D+B Problem
C+B+A+D Problem
C+B+D+A Problem
C+D+A+B Problem
C+D+B+A Problem
D+A+B+C Problem
D+A+C+B Problem
D+B+A+C Problem
D+B+C+A Problem
D+C+A+B Problem
D+C+B+A Problem
示例3
输出
复制
A+B+C Problem
A+C+B Problem
B+A+C Problem
B+C+A Problem
C+A+B Problem
C+B+A Problem