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.
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.
k,a,b=[int(a) for a in input().split()]
s=input()
n=len(s)
d={}
def dp(i,c):
    if (i,c) in d:
        return(d[(i,c)])
    if c>k:
        
        return(None)
    if c==k and i>n-1:
       
        return([])
    if i>n-1:
        return(None)
    for j in range(i+a,i+b+1):
        if dp(j,c+1)!=None:
            d[(i,c)]=[s[i:j]]+dp(j,c+1)
            return(d[(i,c)])
if n<k*a or n>k*b:
    print("No solution")
else:
    op=dp(0,0)
    for i in op:
        print(i)