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 ManyEqualSubstrings {
	static int zähler = 0, wortZähler = 0;

	public static int ueberschneidung(char[] wort, char[] loesung, int n, int k) {
		for (int i = 0; i < n; i++) {
			loesung[i] = wort[i];
		}
		for (int i = 1; i < n; i++) {
			zähler = 0;
			if (loesung[i] == wort[zähler]) {
				int ausgabe = i;
				boolean tester = true;
				for (int test = i + 1; test < n; test++) {
					zähler++;
					if (loesung[test] != wort[zähler]) {
						tester = false;
					}
				}
				if (tester) {
					return ausgabe;
				}

			}
		}

		return n;
	}

	public static void aufschreiben(char[] wort, char[] loesung, int wdh, int n) {
		for (int i = 0; i < wdh; i++) {
			loesung[zähler] = wort[i];
			zähler++;
		}

	}

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();
		int k = scan.nextInt();
		String wort = scan.next();
		char[] reihe = wort.toCharArray();

		char[] loesung = new char[n * k];

		int wdh = ueberschneidung(reihe, loesung, n, k);

		zähler = n;

		int wieOft = n + (k - 1) * wdh;
	//	System.out.println(wdh);
	//	System.out.println(wieOft);

		for (int j = 0; j < k - 1; j++) {
			for (int i = n - wdh; i < n; i++) {

				loesung[zähler] = reihe[i];
				zähler++;
			}
		}

		for (int i = 0; i < wieOft; i++) {
			System.out.print(loesung[i]);
		}

	}
}