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


import java.io.*;

public class Main {
    static final long M = (long) 1e9 + 7;
    static FastReader in;
    static int ans = 0;

    public static void main(String[] args) {
        in = new FastReader();
        int t = ni();

        while (t-- > 0) {
            int n = ni() ;
            String s = nln();
            String ans = "";
            int z = 0 ,o = 0;
            for(int i=0;i<s.length();i++)if(s.charAt(i)=='0')z++;
            else o++;
            
            if(z==s.length()){
                while(n-->0)p(0);
                pn("");
            }
            else if(o==s.length()){
                while(n-->0)p(1);
                pn("");
            }
            else {
             int maxO = 0 ;
             int maxZ = 0 ;

             ArrayList<String> al = new ArrayList<>();
            int fans[] =new int [ n ] ;
            for(int i=0;i<n;i++)fans[i] =0; 
          
             for(int i=0;i<2*n-1;i++){
                 for(int j=i;j+n <= 2*n-1;j++){
                     ans = s.substring(j, j+n);
                     //pn(ans);
                     al.add(ans);
                    for(int k=0;k<fans.length;k++){
                        if(fans[k]==ans.charAt(k))continue;
                        else fans[k] = ans.charAt(k)-'0';

                    }
                   // pn("");
                 }
             }
            // String finalAns = "";
             //while(n->0)finalAns+='0';
             for(String xx : al){
                for(int k=0;k<fans.length;k++){
                    fans[k] = fans[k] | (xx.charAt(k)-'0');

                }
             } //pn(al);
                for(Integer xxx:fans)
                p(xxx);
                pn("");
            }
        }
    }

    static void p(Object o) {
        System.out.print(o);
    }

    static void pn(Object o) {
        System.out.println(o);
    }

    static String ns() {
        return in.next();
    }

    static String nln() {
        return in.nextLine();
    }

    static int ni() {
        return Integer.parseInt(in.next());
    }

    static int[] nia(int N) {
        int[] a = new int[N];
        for (int i = 0; i < N; i++)
            a[i] = ni();
        return a;
    }

    static long[] nla(int N) {
        long[] a = new long[N];
        for (int i = 0; i < N; i++)
            a[i] = nl();
        return a;
    }

    static long nl() {
        return Long.parseLong(in.next());
    }

    static double nd() {
        return Double.parseDouble(in.next());
    }

    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();
        }

        String nextLine() {
            String str = "";
            try {
                str = br.readLine();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return str;
        }
    }
}