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 Main
{
    static class FastReader 
    { 
        BufferedReader br; 
        StringTokenizer st; 
  
        public FastReader() 
        { 
            br = new BufferedReader(new
                     InputStreamReader(System.in)); 
        } 
  
        String next() 
        { 
            while (st == null || !st.hasMoreElements()) 
            { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } 
            return st.nextToken(); 
        } 
  
        int nextInt() 
        { 
            return Integer.parseInt(next()); 
        } 
  
        long nextLong() 
        { 
            return Long.parseLong(next()); 
        } 
  
        double nextDouble() 
        { 
            return Double.parseDouble(next()); 
        } 
  
        String nextLine() 
        { 
            String str = ""; 
            try
            { 
                str = br.readLine(); 
            } 
            catch (IOException e) 
            { 
                e.printStackTrace(); 
            } 
            return str; 
        } 
    }
    public static void main(String args[])
    {
        FastReader fs=new FastReader();
        PrintWriter pw=new PrintWriter(System.out);
        int k=fs.nextInt();
        int a=fs.nextInt();
        int b=fs.nextInt();
        char c[]=fs.nextLine().toCharArray();
        int arr[][]=new int[k][c.length+1];
        for(int i=a;i<=b;i++)
        {
            if(i<=c.length)
            arr[0][i]=1;
        }
        for(int i=1;i<k;i++)
        {
            for(int j=a;j<=c.length;j++)
            {
                if(arr[i-1][j]==1)
                {
                    for(int p=a;p<=b;p++)
                    {
                        if(j+p>c.length)
                        break;
                        if(arr[i][j+p]!=1)
                        arr[i][j+p]=1;
                    }
                }
            }
        }
        if(arr[k-1][c.length]!=1)
        pw.println("No solution");
        else
        {
            ArrayList<Integer> list=new ArrayList<>();
            int in=c.length;
            for(int i=k-1;i>0;i--)
            {
                for(int j=a;j<=b;j++)
                {
                    if(in-a>0&&arr[i-1][in-j]==1)
                    {
                        list.add(j);
                        in-=j;
                        break;
                    }
                }
            }
            list.add(in);
            Collections.sort(list);
            int pref[]=new int[list.size()];
            for(int i=0;i<list.size();i++)
            pref[i]=list.get(i);
            for(int i=1;i<pref.length;i++)
            pref[i]+=pref[i-1];
            in=0;
            for(int i=0;i<c.length;i++)
            {
                pw.print(c[i]);
                if(i==pref[in]-1)
                {
                    pw.print("\n");
                    in++;
                }
            }
        }
        pw.flush();
        pw.close();
    }
}