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.*;
import java.io.*;
public class Codeforces
{
    public static void main(String [] args) throws IOException
    {
        PrintWriter pw=new PrintWriter(System.out);//use pw.println() not pw.write();
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st=new StringTokenizer(br.readLine());
        /*
        inputCopy
3 4
aba
outputCopy
ababababa
inputCopy
3 2
cat
outputCopy
catcat
        */
        int n=Integer.parseInt(st.nextToken());
        int k=Integer.parseInt(st.nextToken());
        String t=br.readLine();
        String substr=getSubstring(t);
        String ans=new String(t);
        
        if(substr.length()!=0)
        {
            int k2=1;
            String toAppend=t.substring(substr.length(),t.length());
            while(k2<k)
            {
                ans+=toAppend;
                ++k2;
            }
        }
        else
        {
            int  k2=1;
            while(k2<k)
            {
                ans+=t;
                ++k2;
            }
        }
        pw.println(ans);
        pw.flush();
        pw.close();//Do not forget to write it after every program return statement !!
    }
    public static String getSubstring(String t)
    {
        int len=0;
        int p2=t.length()-1;
		//System.out.println("p2="+p2);
        int p1=0;
        String substr="";
        String ans="";
        while(p2>0)
        {
            substr=t.substring(p2,t.length());
            if(t.startsWith(substr))
            {
                ans=substr;
                ++len;
				//System.out.println("Valid for ans="+ans);
                
            }
			
            --p2;
			
        }
		
		//System.out.println("ans="+ans);
        return ans;
    }
}