Lucy loves letters. At school, she learned the concept of lexicographical order and now enjoys playing with it.
At first, she tried to form the lexicographically smallest word from a given set of letters — it turned out to be quite easy! Then she decided to form several words and make one of them minimal in lexicographical order. This turned out to be much more difficult.
Formally, Lucy wants to construct words of length each from the given n \cdot l letters such that the -th word in the lexicographically sorted list is as small as possible in lexicographical order.
The first line contains three integers , and k~(1 \le k \le n \le 1000, 1 \le l \le 1000) — the number of words, the length of each word, and the index of the word that Lucy wants to minimize.
The second line contains a string of n \cdot l lowercase English letters.
Print words of length each, one word per line, using all the letters from the input. The words must be sorted in lexicographical order, and the -th word must be as small as possible in lexicographical order. If there are multiple valid answers with the same minimal -th word, print any of them.
Example 1
Example 2