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.*;

public class Main{
	
    static Scanner sc=new Scanner(System.in);
    static boolean flag = false;
    
    public static void main(String[] args){
    	int n=sc.nextInt();
    	int k=sc.nextInt();
    	String t=sc.next();
    	char[] tt=t.toCharArray();
    	int len=tt.length;
    	int cnt=len;
    	for(int i=1;i<len;i++) {
    		for(int j=0,l=i;l<len;l++,j++) {
    			if(tt[j]==tt[l]&&l==len-1) {
    				cnt=i;
    				flag=true;
    				break;
    			}
    			if(tt[j]==tt[l])continue;
    			if(tt[j]!=tt[l])break;
    		}
    		if(flag) break;
    	}
    	//System.out.println(cnt);
    	String newt=t.substring(len-cnt, len);
    	StringBuffer sbf=new StringBuffer(t);
    	for(int i=0;i<k-1;i++) {
    		sbf.append(newt);
    	}
    	System.out.println(sbf);
    }
}