A bracket sequence is a string containing only characters "(" and ")". A regular bracket sequence is a bracket sequence that can be transformed into a correct arithmetic expression by inserting characters "1" and "+" between the original characters of the sequence. For example, bracket sequences "()()" and "(())" are regular (the resulting expressions are: "(1)+(1)" and "((1+1)+1)"), and ")(", "(" and ")" are not.

Subsequence is a sequence that can be derived from another sequence by deleting some elements without changing the order of the remaining elements.

You are given a regular bracket sequence s and an integer number k. Your task is to find a regular bracket sequence of length exactly k such that it is also a subsequence of s.

It is guaranteed that such sequence always exists.

Input

The first line contains two integers n and k (2 ≤ k ≤ n ≤ 2 ⋅ 10^5, both n and k are even) — the length of s and the length of the sequence you are asked to find.

The second line is a string s — regular bracket sequence of length n.

Output

Print a single string — a regular bracket sequence of length exactly k such that it is also a subsequence of s.

It is guaranteed that such sequence always exists.

Examples

Input

6 4
()(())


Output

()()


Input

8 8
(()(()))


Output

(()(()))
import java.io.IOException; 
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*; 

public class Main 
{ 	

    private static Reader r; 	

	public static void main(String[] args) 	throws Exception 	
	{ 	

		r = new Reader(); 	

		r.readLine();
		int s = r.readInt(0);
		int k = r.readInt(1);

		r.readLine();
		char []arr = r.readString(0).toCharArray();

		boolean ans[] = new boolean[1000000];
		Stack<Integer> stack = new Stack<>();

		for (int i=0;i < s;++i)
		{
			if (k == 0)
				break;

			if (arr[i] == '(')
			{
				stack.push(i);
			}
			else
			{
				int  p = stack.pop();
				ans[p] = true;
				ans[i] = true;
				k -= 2;
			}
		}

		StringBuilder res = new StringBuilder();
		for (int i=0;i < s;++i)
			if (ans[i])
				res.append(arr[i]);

		System.out.println(res.toString());
		r.close(); 
	}

	private static Map<Character,List<Integer>> getCharFreqWithIdx(char charArr[], int size)
	{
		Map<Character,List<Integer>> freqIdxs = new HashMap<>();

		int freq[] = new int[26];
		for (int i=0;i < size;++i)
		{
			int fr = ++freq[charArr[i] - 'a'];
			List<Integer> idx = new ArrayList<>();

			if (fr != 1)
				idx = freqIdxs.get(charArr[i]);
			else
				idx = new ArrayList<Integer>();

			idx.add(i);
			freqIdxs.put(charArr[i], idx);
		}

		return freqIdxs;
	}

	private static List<Integer> getDivs(int n)
	{
		List<Integer> divs = new ArrayList<>();

		for (int i=1; i <= Math.sqrt(n); i++) 
		{ 
			if (n % i == 0) 
			{ 
				if (n / i == i) 
					divs.add(i);
				else  
				{
					divs.add(i);
					divs.add(n / i);
				}
			} 
		} 
		return divs;
	}

	private static void reverse(char arr[], int fr, int to)
	{
		int step = (to - fr) / 2;
		for (int i=0;i <= step;++i)
		{
			char temp = arr[i];
			arr[i] = arr[to - i];
			arr[to - i] = temp;
		}
	}

} 

class Pair implements Comparable<Pair>
{ 	
	int f,s; 	
	public Pair() 	
	{} 
	public Pair(int f, int s) 	
	{ 	
		this.f = f; 	
		this.s = s; 	
	} 

	@Override 	
	public String toString() 
	{ 		
		return f + " " + s; 	
	} 	

	@Override 	
	public int compareTo(Pair o) 	
	{ 		
		if (f == o.f) 			
			return s - o.s; 		
		return f - o.f; 	
	} 
}

class Reader
{ 	
	private BufferedReader reader; 
	private String line[]; 	

	public Reader() 	
	{ 		
		reader = new BufferedReader(new InputStreamReader(System.in)); 	
	} 	

	public String[] getLine() 	
	{ 		
		return line; 	
	} 	

	public void readLine() 	throws IOException 
	{ 		
		line = reader.readLine().split(" "); 	
	} 	

	public List<Integer> getIntegersList()
	{
		List<Integer> res = new ArrayList<>();
		for (String str:line)
			res.add(Integer.parseInt(str));
		return res;

	}

	public int readInt(int pos)throws IOException 	
	{ 		
		return Integer.parseInt(line[pos]); 	
	} 	

	public double readDouble(int pos)throws IOException 	
	{ 		
		return Double.parseDouble(line[pos]); 	
	} 	

	public long readLong(int pos)throws IOException 
	{ 		
		return Long.parseLong(line[pos]); 
	} 	

	public String readString(int pos)throws IOException 	
	{ 		
		return line[pos]; 	
	} 	

	public void close()throws IOException 
	{ 		
		reader.close(); 	
	}

}

