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.
# Asif Islam - asifislam510
# Read the number of segments, minimum and maximum segment lengths from input
num_segments, min_length, max_length = map(int, input().split())

# Read the input string from input
input_str = input()

# Calculate the length of the input string
str_length = len(input_str)

# Check if the input string length is within the valid range
if str_length < min_length * num_segments or str_length > max_length * num_segments:
    print("No solution")
    exit()

# Initialize a list to store segment lengths with minimum length initially
segment_lengths = [min_length for _ in range(num_segments)]

# Calculate the remaining characters after allocating minimum lengths to segments
remaining_chars = str_length - min_length * num_segments

# Distribute remaining characters to segments while respecting the maximum length
for i in range(num_segments - 1, -1, -1):
    if remaining_chars <= max_length - min_length:
        segment_lengths[i] += remaining_chars
        break
    else:
        segment_lengths[i] = max_length
        remaining_chars += min_length
        remaining_chars -= max_length

# Initialize a variable to keep track of the current position in the input string
current_pos = 0

# Print the segments of the input string
for length in segment_lengths:
    print(input_str[current_pos:current_pos + length])
    current_pos += length

 	    	 	 		 		 		 	  	     		