description: A string is called square if it is some string written twice in a row. For example, the strings "aa", "abcabc", "abab" and "baabaa" are square. But the strings "aaa", "abaaab" and "abcdabc" are not square.
  
  For a given string s determine if it is square.
  
  Input
  
  The first line of input data contains an integer t (1 ≤ t ≤ 100) —the number of test cases.
  
  This is followed by t lines, each containing a description of one test case. The given strings consist only of lowercase Latin letters and have lengths between 1 and 100 inclusive.
  
  Output
  
  For each test case, output on a separate line:
  
    * YES if the string in the corresponding test case is square, 
    * NO otherwise. 
  
  
  
  You can output YES and NO in any case (for example, strings yEs, yes, Yes and YES will be recognized as a positive response).
  
  Example
  
  Input
  
  
  10
  a
  aa
  aaa
  aaaa
  abab
  abcabc
  abacaba
  xxyy
  xyyx
  xyxy
  
  
  Output
  
  
  NO
  YES
  NO
  YES
  YES
  YES
  NO
  NO
  NO
  YES
solution: import java.util.*;
  import java.io.*;
  
  public class B{
  	public static void main(String[] args)
  	{
  		FastScanner fs = new FastScanner();
  		PrintWriter out = new PrintWriter(System.out);
  		int t = fs.nextInt();
  		for(int tt=0;tt<t;tt++) {
  			char[] arr = fs.next().toCharArray();
  			int n = arr.length;
  			if(n%2 == 1) {
  				out.println("NO");
  			}
  			else {
  				boolean flag = true;
  				int i = 0; int j = n/2;
  				while(j<n) {
  					if(arr[i] != arr[j]) {
  						flag = false;
  						break;
  					}
  					i++;
  					j++;
  				}
  				out.println(flag == true?"YES":"NO");
  			}
  		}
  		out.close();
  	}
  	static class FastScanner {
  		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  		StringTokenizer st=new StringTokenizer("");
  		String next() {
  			while (!st.hasMoreTokens())
  				try {
  					st=new StringTokenizer(br.readLine());
  				} catch (IOException e) {
  					e.printStackTrace();
  				}
  			return st.nextToken();
  		}
  		
  		int nextInt() {
  			return Integer.parseInt(next());
  		}
  		int[] readArray(int n) {
  			int[] a=new int[n];
  			for (int i=0; i<n; i++) a[i]=nextInt();
  			return a;
  		}
  		long nextLong() {
  			return Long.parseLong(next());
  		}
  	}
  	public static int[] sort(int[] arr)
  	{
  		List<Integer> temp = new ArrayList();
  		for(int i:arr)temp.add(i);
  		Collections.sort(temp);
  		int start = 0;
  		for(int i:temp)arr[start++]=i;
  		return arr;
  	}
  	public static String rev(String str)
  	{
  		char[] arr = str.toCharArray();
  		char[] ret = new char[arr.length];
  		int start = arr.length-1;
  		for(char i:arr)ret[start--] = i;
  		String ret1 = "";
  		for(char ch:ret)ret1+=ch;
  		return ret1;
  	}
  }