有重复元素的排列问题

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

设R={ r1, r2, ……, rn }是要进行排列的n个元素。其中元素r1 ,r2 ,……,rn可能相同。试设计一个算法,列出R的所有不同排列。
给定n以及待排列的n个元素。计算出这n个元素的所有不同排列。

Input

输入数据的的第1行是元素个数n,1≤n≤500。接下来的1行是待排列的n个元素。

Output

将计算出的n个元素的所有不同排列输出,每种排列占1行,最后1行中的数是排列总数。

Sample Input

4
aacc

Sample Output

aacc
acac
acca
caac
caca
ccaa
6

Hint

Source