Problem: You are given a string t consisting of n lowercase Latin letters and an integer number k.

Let's define a substring of some string s with indices from l to r as s[l ... r].

Your task is to construct such string s of minimum possible length that there are exactly k positions i such that s[i ... i + n - 1] = t. In other words, your task is to construct such string s of minimum possible length that there are exactly k substrings of s equal to t.

It is guaranteed that the answer is always unique.

Input

The first line of the input contains two integers n and k (1 ≤ n, k ≤ 50) — the length of the string t and the number of substrings.

The second line of the input contains the string t consisting of exactly n lowercase Latin letters.

Output

Print such string s of minimum possible length that there are exactly k substrings of s equal to t.

It is guaranteed that the answer is always unique.

Examples

Input

3 4
aba


Output

ababababa


Input

3 2
cat


Output

catcat

Solution (in JAVA):

Solution:

import java.util.Scanner;

public class A {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		int n = s.nextInt();
		int k = s.nextInt();
		String line = s.next();
		StringBuilder build = new StringBuilder();
//		/*
//		int count = 1;
//		int pos = 1;
//		while(count < k) {
//			if(pos >= build.length()) {
//				build.append(line);
//				count++;
//			} else {
//				boolean ok = true;
//				int len = 0;
//				for(int i = 0; i < line.length() && pos + i < build.length(); i++) {
//					len++;
//					if(build.charAt(pos + i) != line.charAt(i)) {
//						ok = false;
//						break;
//					}
//				}
//				if(ok) {
//					build.append(line.substring(len));
//					count++;
//				}
//			}
//			
//			pos++;
//		}
//		*/
//		// ==========
		int[] p = new int[n];
		for(int i = 1; i < line.length(); i++) {
			int j = p[i - 1];
			while(j > 0 && line.charAt(j) != line.charAt(i)) {
				j = p[j-1];
			}
			if(line.charAt(i) == line.charAt(j)) {
				j++;
			}
			p[i] = j;
		}
		
		
//		int l = 0;
//		while(l < n - 1 && line.substring(n - l - 1, n).equals(line.substring(0, l + 1))) {
//			l++;
//		}
//		
		String part = line.substring(p[n - 1]);
		build.append(line);
//		String part = line.substring(0, line.length() - p[n - 1]);
		for(int i = 1; i < k; i++) {
			build.append(part);
		}
//		build.append(line);
		// ==========
		
		System.out.println(build.toString());
	}
}