Anfisa the monkey learns to type. She is yet unfamiliar with the "space" key and can only type in lower-case Latin letters. Having typed for a fairly long line, Anfisa understood that it would be great to divide what she has written into k lines not shorter than a and not longer than b, for the text to resemble human speech more. Help Anfisa.

Input

The first line contains three integers k, a and b (1 ≤ k ≤ 200, 1 ≤ a ≤ b ≤ 200). The second line contains a sequence of lowercase Latin letters — the text typed by Anfisa. It is guaranteed that the given line is not empty and its length does not exceed 200 symbols.

Output

Print k lines, each of which contains no less than a and no more than b symbols — Anfisa's text divided into lines. It is not allowed to perform any changes in the text, such as: deleting or adding symbols, changing their order, etc. If the solution is not unique, print any of them. If there is no solution, print "No solution" (without quotes). 

Examples

Input

3 2 5
abrakadabra


Output

ab
rakad
abra


Input

4 1 2
abrakadabra


Output

No solution
k,a,b=map(int,raw_input().split())
r=raw_input().strip()
n=len(r)
dp = [['' for i in range(n)] for j in range(k)]
r1=''
for i in range(n):
    r1+=r[i]
    if i>=a-1 and i<b:
        dp[0][i] = r1+" "

for i in range(1,k):
    for j in range(n):
        f=''
        c=0
        r1=''
        for k1 in range(j,-1,-1):
            if c<a:
                c+=1
                r1=r[k1]+r1
                continue
            if c>b:
                break
            
            if dp[i-1][k1]:
                f=dp[i-1][k1]+r1+" "
                break
            else:
                r1=r[k1]+r1
            c+=1
        dp[i][j]=f
if dp[-1][-1]:
    for i in dp[-1][-1].split():
        print i
else:
    print 'No solution'
"""
for i in dp:
    for j in i:
        print j+' | ',
    print

"""
            
        
