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
import java.util.*;
import java.io.*;

public class Sol679A{
	public static void main(String[] args) throws Exception {
		BufferedReader sc = new BufferedReader (new InputStreamReader(System.in));
     PrintWriter out = new PrintWriter(System.out, true);
   
      
            int[] m= new int[3];
            String[] s1 = sc.readLine().split(" ");
            m[0]=Integer.parseInt(s1[0]);
            m[1]=Integer.parseInt(s1[1]);
               m[2]=Integer.parseInt(s1[2]);
          int n=m[0];
           int a=m[1];
           int b=m[2];
         
         String s=sc.readLine();
         
         int len=s.length();
      
         if(n*b<len || n>len){
             
             out.println("No solution");
         }
        
         
         else{
             int div=0;
             if(len%n==0){
           div=len/n;
           
                 
             if(div>=a && div<=b){
                 
                 String[] ar=new String[n];
                 int j=0; int p=div;
                 for(int i=0;i<n;i++){
                     
                     ar[i]=s.substring(j,div);
                     j=div;
                     div+=p;
                 }
                 
                 for(int i=0;i<n;i++){
                     System.out.println(ar[i]);
                 }
             }
             else{
                 
                 out.println("No solution");
             }
           
           
             }
             
          else    if(len%n!=0 && len/n>0){
                div=len/n;
                 div++;
             
             
             if(div>a && div<=b){
                 
                 int j=0; int p=div-1;
                 String[] ar=new String[n];
                 div--;
                  for(int i=0;i<n-1;i++){
                     
                     ar[i]=s.substring(j,div);
                     j=div;
                     div+=p;
                 }
                 ar[n-1]=s.substring(j,len-div+div);
                 
                  for(int i=0;i<n;i++){
                     System.out.println(ar[i]);
                 }
                 
                 
             }
             
             else {out.println("No solution");}
            
             }
           
            else {out.println("No solution");}
            
             
         }
        
       
        
    }
}

