在一個字串中如果相同的兩個子字串相鄰地靠在一起,我們稱該字串為”easy”,否則稱為”hard”。
下例為easy字串:
- BB
- ABCDACABCAB
- ABCDABCD
下例為hard字串:
- D
- DC
- ABDAB
- CBABCBA
Input and Output
輸入會有多組測試資料,每組資料一列會有兩個整數 n, L,其中 n > 0 且 1 <= L <= 26,請你輸出以字典順序排列的第 n 個hard字串(只能利用前L個字母),並接著顯示該字串的長度。第一個字串一定是A。你可以假定所給定的 n 與 L 必存在第 n 個hard字串。
例如當L=3, 前7個hard字串依序分別為:
A
AB
ABA
ABAC
ABACA
ABACAB
ABACABA
請在每組輸出字串之間,以四個字元為一組並以一個空白字元隔開,且每16組一列,第17組之前請輸出一換行字元,因此上例中 n = 7, L = 3其輸出為:
ABAC ABA
7
當 n = 0, L = 0表示測試資料結束。你可以假定最長的輸出字串不會超過80個字元。
Sample Input
30 3
0 0
Sample Output
ABAC ABCA CBAB CABA CABC ACBA CABA
28