A binary string is a string where each character is either 0 or 1. Two binary strings a and b of equal length are similar, if they have the same character in some position (there exists an integer i such that a_i = b_i). For example:

  * 10010 and 01111 are similar (they have the same character in position 4); 
  * 10010 and 11111 are similar; 
  * 111 and 111 are similar; 
  * 0110 and 1001 are not similar. 



You are given an integer n and a binary string s consisting of 2n-1 characters. Let's denote s[l..r] as the contiguous substring of s starting with l-th character and ending with r-th character (in other words, s[l..r] = s_l s_{l + 1} s_{l + 2} ... s_r).

You have to construct a binary string w of length n which is similar to all of the following strings: s[1..n], s[2..n+1], s[3..n+2], ..., s[n..2n-1].

Input

The first line contains a single integer t (1 ≤ t ≤ 1000) — the number of test cases.

The first line of each test case contains a single integer n (1 ≤ n ≤ 50).

The second line of each test case contains the binary string s of length 2n - 1. Each character s_i is either 0 or 1.

Output

For each test case, print the corresponding binary string w of length n. If there are multiple such strings — print any of them. It can be shown that at least one string w meeting the constraints always exists.

Example

Input


4
1
1
3
00000
4
1110000
2
101


Output


1
000
1010
00

Note

The explanation of the sample case (equal characters in equal positions are bold):

The first test case: 

  * 1 is similar to s[1..1] = 1. 



The second test case: 

  * 000 is similar to s[1..3] = 000; 
  * 000 is similar to s[2..4] = 000; 
  * 000 is similar to s[3..5] = 000. 



The third test case: 

  * 1010 is similar to s[1..4] = 1110; 
  * 1010 is similar to s[2..5] = 1100; 
  * 1010 is similar to s[3..6] = 1000; 
  * 1010 is similar to s[4..7] = 0000. 



The fourth test case: 

  * 00 is similar to s[1..2] = 10; 
  * 00 is similar to s[2..3] = 01. 
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.math.BigInteger;
import java.util.* ;
import java.io.* ;
@SuppressWarnings("unused")

//Scanner s = new Scanner(new File("input.txt"));
//s.close();
//PrintWriter writer = new PrintWriter("output.txt");
//writer.close();
//BufferedReader in = new BufferedReader(new InputStreamReader(System.in)) ;

//[a-z] = [97-122] ------- [A-Z] = [65-90]

public class cf
{	
	static final int mod = 1000000007 ;
	
	static boolean not_prime[] = new boolean[1000001] ;
	static void sieve() {
		for(int i=2 ; i*i<1000001 ; i++) {
			if(not_prime[i]==false) {
				for(int j=2*i ; j<1000001 ; j+=i) {
					not_prime[j]=true ;
				}
			}
		}not_prime[0]=true ; not_prime[1]=true ;
	}	
	
	public static long bexp(long base , long power)
	{
		long res=1L ;
		
		//base = base%mod ;
		
		while(power>0) {
			if((power&1)==1) {
				res=(res*base);//%mod ;
				power-- ;
			}
			else {
				base=(base*base);//%mod ;
				power>>=1 ;
			}
		}
		
		return res ;
	}

	static long modInverse(long n, long p)
	{
	    return power(n, p - 2, p);
	}
	static long power(long x, long y, long p)
	{
	  
	    // Initialize result
	    long res = 1;
	  
	    // Update x if it is more than or
	    // equal to p
	    x = x % p;
	  
	    while (y > 0) {
	  
	        // If y is odd, multiply x
	        // with result
	        if (y % 2 == 1)
	            res = (res * x) % p;
	  
	        // y must be even now
	        y = y >> 1; // y = y/2
	        x = (x * x) % p;
	    }
	  
	    return res;
	}
	static long nCrModPFermat(int n, int r, long p)
	{
		if(n<r) return 0 ;
	    if (r == 0)
	        return 1;

	    long[] fac = new long[n + 1];
	    fac[0] = 1;
	  
	    for (int i = 1; i <= n; i++)
	        fac[i] = fac[i - 1] * i % p;
	  
	    return (fac[n] * modInverse(fac[r], p) % p
	            * modInverse(fac[n - r], p) % p)
	        % p;
	}
	
	private static long modular_add(long a, long b)
	{
	    return ((a % mod) + (b % mod)) % mod;
	}
	private static long modular_sub(long a, long b)
	{
	    return ((a % mod) - (b % mod) + mod) % mod;
	}
	private static long modular_mult(long a, long b)
	{
	    return ((a % mod) * (b % mod)) % mod;
	}
	
	static long lcm(int a, int b)
	{
		return (a / gcd(a, b)) * b;
	}
	private static long gcd(long a, long b)
	{
		if (b == 0) {
			return a;
		}
		return gcd(b, a % b);
	}
	
	static int cbits(int num) {
		return (int)(Math.log(num) /Math.log(2)) + 1;
	}
    static class FastReader {
        BufferedReader br;
        StringTokenizer st;
 
        public FastReader()
        {
            br = new BufferedReader(
                new InputStreamReader(System.in));
        }
 
        String next()
        {
            while (st == null || !st.hasMoreElements()) {
                try {
                    st = new StringTokenizer(br.readLine());
                }
                catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }
 
        int nextInt() { return Integer.parseInt(next()); }
 
        long nextLong() { return Long.parseLong(next()); }
 
        double nextDouble(){ return Double.parseDouble(next()); };
 
        String nextLine()
        {
            String str = "";
            try {
                str = br.readLine();
            }
            catch (IOException e) {
                e.printStackTrace();
            }
            return str;
        }
    }
	
	static HashMap<Integer , ArrayList<Integer>> map = new HashMap<>() ;
	static boolean vis[] ; 
	public static void main(String[] args)throws IOException//throws FileNotFoundException
    {
		FastReader in = new FastReader() ;	
    	StringBuilder op = new StringBuilder() ;

    	int t = in.nextInt() ;
    	while(t-->0)
    	{
    		int n = in.nextInt() ;
    		String st = in.nextLine() ;
    		if(n==1) {
    			op.append(st+"\n");
    			continue ;
    		}
    		StringBuilder ans = new StringBuilder() ;
    		int l=0 , r=n-1 ;
    		int add=0 ;
    		while(r<st.length())
    		{
    			ans.append(st.substring(l,r+1).charAt(add++));
    			l++ ;
    			r++ ;
    		}
    		op.append(ans+"\n") ;
    	}
    	System.out.println(op.toString());
    }
}
