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.io.*;
import java.util.*;
public class E44 {
public static void main(String[] args) throws IOException {
	input.init(System.in);
	PrintWriter out = new PrintWriter(System.out);
	int k = input.nextInt(), a = input.nextInt(), b = input.nextInt();
	String s = input.next();
	int n = s.length();
	int[][] last = new int[k+1][n+1];
	for(int[] A : last) Arrays.fill(A, -1);
	last[0][0] = 0;
	for(int i = 1; i<= k; i++)
		for(int p = 1; p <= n; p++)
			for(int j = a; j<= b && j <= p; j++)
				if(last[i-1][p-j] != -1)
					last[i][p] = p-j;
	Stack<String> stk = new Stack<String>();
	if(last[k][n] == -1) out.println("No solution");
	else
	{
		int at = n;
		int left = k;
		while(at > 0)
		{
			int prev = last[left][at];
			String cur = s.substring(prev, at);
			//out.println(at+" "+cur);
			stk.add(cur);
			at = prev;
			left--;
		}
		while(!stk.isEmpty()) out.println(stk.pop());
	}
	out.close();
}

public static class input {
	static BufferedReader reader;
	static StringTokenizer tokenizer;

	static void init(InputStream input) {
		reader = new BufferedReader(new InputStreamReader(input));
		tokenizer = new StringTokenizer("");
	}

	static String next() throws IOException {
		while (!tokenizer.hasMoreTokens())
			tokenizer = new StringTokenizer(reader.readLine());
		return tokenizer.nextToken();
	}

	static int nextInt() throws IOException {
		return Integer.parseInt(next());
	}

	static double nextDouble() throws IOException {
		return Double.parseDouble(next());
	}

	static long nextLong() throws IOException {
		return Long.parseLong(next());
	}
}
}

