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:
/*package whatever //do not write package name here */

import java.io.*;
import java.util.*;
public class Main {
    static String reverse(String c)
    {
        String a="";
        for(int i=c.length()-1;i>=0;i--)
        a+=c.charAt(i);
        return a;
    }
   
	public static void main (String[] args) {
		Scanner s=new Scanner(System.in);
		int t=s.nextInt();
		while(t-->0)
		{
		    String c=s.next();
		    String g=reverse(c);
		    int k=1;
		    for(int i=0;i<c.length()-k;i++)
		    {if(c.charAt(i)==c.charAt(i+k))
		    {}
		    else
		    k++;
		    }
		    for(int i=0;i<c.length()-k;i++)
		    {if(c.charAt(i)==c.charAt(i+k))
		    {}
		    else
		    k++;
		    }
		    if(k==1)
		    System.out.println(c);
		    else
		    {
		        int n=c.length();
		        for(int i=0;i<c.length()-1;i++)
		        {if(c.charAt(i)=='0' && c.charAt(i+1)=='0')
		        c=c.substring(0,i+1)+'1'+c.substring(i+1,c.length());
		        else if(c.charAt(i)=='1' && c.charAt(i+1)=='1')
		        c=c.substring(0,i+1)+'0'+c.substring(i+1,c.length());
		        }
		        System.out.println(c);
		    }
		    
		}
		
	}
}