Problem: Let's say string s has period k if s_i = s_{i + k} for all i from 1 to |s| - k (|s| means length of string s) and k is the minimum positive integer with this property.

Some examples of a period: for s="0101" the period is k=2, for s="0000" the period is k=1, for s="010" the period is k=2, for s="0011" the period is k=4.

You are given string t consisting only of 0's and 1's and you need to find such string s that:

  1. String s consists only of 0's and 1's; 
  2. The length of s doesn't exceed 2 ⋅ |t|; 
  3. String t is a subsequence of string s; 
  4. String s has smallest possible period among all strings that meet conditions 1—3. 



Let us recall that t is a subsequence of s if t can be derived from s by deleting zero or more elements (any) without changing the order of the remaining elements. For example, t="011" is a subsequence of s="10101".

Input

The first line contains single integer T (1 ≤ T ≤ 100) — the number of test cases.

Next T lines contain test cases — one per line. Each line contains string t (1 ≤ |t| ≤ 100) consisting only of 0's and 1's.

Output

Print one string for each test case — string s you needed to find. If there are multiple solutions print any one of them.

Example

Input


4
00
01
111
110


Output


00
01
11111
1010

Note

In the first and second test cases, s = t since it's already one of the optimal solutions. Answers have periods equal to 1 and 2, respectively.

In the third test case, there are shorter optimal solutions, but it's okay since we don't need to minimize the string s. String s has period equal to 1.

Solution (in JAVA):

Solution:
import java.io.*;
import java.util.*;

public class b {
	public static void main(String[] args) throws IOException {
		FastScanner stdin = new FastScanner(System.in);
		PrintWriter out = new PrintWriter(System.out);
		
		int t = stdin.nextInt();
		
		for (int z = 0; z < t; z ++)
		{
			char[] in = stdin.next().toCharArray();
			
			if (in.length == 2)
			{
				out.println(in[0] + "" + in[1]);
				continue;
			}
			
			int one = 0, zero = 0;
			for (int i = 0; i < in.length; i ++)
			{
				if (in[i] == '0') zero++; 
				else one++;
			}
			
			if (one == 0 || zero == 0)
			{
				for (int i = 0; i < in.length; i ++)
					out.print(in[i]);
				out.println();
				continue;
			}
			
			if (one == zero)
				one++;
			
			for (int i = 0; i < 2*in.length; i ++)
				out.print(in[0] == '1' ? (i+1)%2 : i%2);
			out.println();
		}
		
		out.flush();
	}
	
	static class FastScanner {
	    BufferedReader br;
	    StringTokenizer st;
		
	    public FastScanner(InputStream i) {
	        br = new BufferedReader(new InputStreamReader(i));
	        st = new StringTokenizer("");
	    }
				
	    public String next() throws IOException {
	        if(st.hasMoreTokens())
	            return st.nextToken();
	        else
	            st = new StringTokenizer(br.readLine());
	        return next();
	    }

	    public int nextInt() throws IOException {
	        return Integer.parseInt(next());
	    }
	   
	    public long nextLong() throws IOException {
	        return Long.parseLong(next());
	    }
	    
	    public double nextDouble() throws IOException {
	        return Double.parseDouble(next());
	    }
	 }
}