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.
def word_bt(k, a, b, word, solution = []):
    #print(solution)
    if len(solution) == k: 
        if word == '': return (True, solution)
        else: return (False, solution)

    for word_len in range(b, a-1, -1):
        new_word = ''
        new_sol = list(solution)

        if word_len > len(word): continue
        else:
            new_word = word[:word_len]
            word_left = word[word_len:]
            #print('new_word: ' + new_word)
            #print('word_left: ' + word_left + '\n')

            if new_word in solution: continue
            else: new_sol.append(new_word)

        ok, sol = word_bt(k, a, b, word_left, new_sol)

        if ok:  return (True, sol)
    
    return (False, solution)

k, a, b = [int(x) for x in input().split()]
word = input().strip()

ok, solution = word_bt(k, a, b, word)

if ok:
    for w in solution: print(w)
else: print('No solution')