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.
class Solution(object):
  def __init__(self):
    pass


  def get_input(self):
    self.k, self.a, self.b = map(int, input().split())
    self.text = input()


  def comp_output(self):
    n = len(self.text)
    if n < (self.k*self.a) or n > (self.k*self.b):
      print("No solution")
    else:
      mean = n/self.k
      higher, lower = int(mean) + 1, int(mean)
      index = 0
      res = []
      step = lower

      while self.k > 0:
        res.append(self.text[index:index+step])
        index += step
        n -= step
        self.k -= 1
        if self.k*higher == n:
          step = higher

      for item in res:
        print(item)
      


obj = Solution()
obj.get_input()
obj.comp_output()