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, min_segment_length, max_segment_length = map(int, input().split())

input_string = input()

string_length = len(input_string)

if string_length < min_segment_length * k or string_length > max_segment_length * k:
    print("No solution")
    exit()

segment_lengths = [min_segment_length for _ in range(k)]

remaining_characters = string_length - min_segment_length * k

for i in range(k - 1, -1, -1):
    if remaining_characters <= max_segment_length - min_segment_length:
        segment_lengths[i] += remaining_characters
        break
    else:
        segment_lengths[i] = max_segment_length
        remaining_characters += min_segment_length
        remaining_characters -= max_segment_length

current_position = 0

for length in segment_lengths:
    print(input_string[current_position:current_position + length])
    current_position += length
 		 		   	 	  	  			 				  		 	