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
# http://codeforces.com/problemset/problem/44/E
import textwrap
s = str(input())
x = map(int , s.split())
s = list(x)
times = s[0]
minimum = s[1]
maximum = s[2]
sequence = str(input())
len_sequence = len(sequence)
if( (times*maximum ) < len_sequence or (times*minimum) > len_sequence ):
    print('No solution')
else:
    divide_remaining = len_sequence - ( times * minimum )
    num_addable = maximum - minimum
    if( divide_remaining == 0 ):
        len_part2 = 0
    elif( divide_remaining % num_addable == 0 ):
        len_part2 =  int(divide_remaining / num_addable)
    else:
        len_part2  =  int(divide_remaining / num_addable) + 1
    len_part1 = int(times - len_part2) * minimum
    parts1 = sequence[:len_part1]
    parts1 = textwrap.wrap(parts1 , minimum)
    for i in parts1:
        print(i)
    parts2 =  sequence[len_part1:]
    parts2 = textwrap.wrap(parts2 , maximum) 
    for i in parts2:
        print(i)