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.
s=input()
s1=s.split()
k=int(s1[0])
a=int(s1[1])
b=int(s1[2])


s=input()

n=len(s)

final=[]
flag=0
def fun(x,tot):

    global flag
    global final

    if tot==k and sum(x)==n:

        final=x

        flag=1

        return

    if sum(x)>n:
        return

    if tot>k:
        return
    
    if flag==1:

        return


    else:

        for i in range(a,b+1):

            fun(x+[i],tot+1)
        

fun([],0)
l=[]

if len(final)==0:

    print('No solution')
    
for i in final:

    l.append(s[:i])
    s=s[i:]

for i in l:
    print(i)

    
