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.io.BufferedReader;
  import java.io.IOException;
  import java.io.InputStreamReader;
  import java.util.StringTokenizer;
  import java.io.*;
  import java.util.*;
   
  public class codeforces {
  	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;
  		}
  	}
   
   
  	public static void main(String args[]) {
  		if (System.getProperty("ONLINE_JUDGE") == null) {
    			// Input is a file
    			try {
  				System.setIn(new FileInputStream("input.txt"));
  				System.setOut(new PrintStream(new FileOutputStream("output.txt")));
  			} catch (Exception e) {
  				System.err.println("Error");
  			}
  		} else {
    			// Input is System.in
  		}
  
  		FastReader sc = new FastReader();
  		// Scanner sc = new Scanner(System.in);
  		//System.out.println(java.time.LocalTime.now());
  
  		StringBuilder sb = new StringBuilder();
  		int t = sc.nextInt();
  		while(t>0) {
  			String ans = "";
  			String s = sc.next();
  			if(s.length()%2 == 0){
  					if(s.substring(0, s.length()/2).equals(s.substring(s.length()/2)))ans = "YES";
  					else ans = "NO";
  			}else ans = "NO";
  			sb.append(ans + "\n");
  			
  
  			
  			t--;
  			}
        
  		
  		
  		System.out.println(sb);
  		
   
  		
      }
  	
  	
   
   
   
   
  //////////nCr////////////////////////////////////////
  	
   
  	
   
   
  ///////// SUM OF EACH DIGIT OF A NUMBER ///////////////
  public static long digSum(long a) {
  	long sum = 0;
  	while(a>0) {
  		sum += a%10;
  		a /= 10;
  	}
  	
  	return sum;
  }
   
  ///////// TO CHECK NUMBER IS PRIME OR NOT ///////////////
  public static boolean isPrime(int n) {
  	if(n<=1)return false;
  	if(n <= 3)return true;
  	if(n%2==0 || n%3==0)return false;
  	
  	for(int i = 5; i*i<=n; i+=6) {
  		if(n%i == 0 || n%(i+2) == 0)return false;
  	}
  	
  	return true;
  }
   
  ///////// NEXT PRIME NUMBER BIGGER THAN GIVEN NUMBER ///////////////
  public static int nextPrime(int n) {
  	while(true) {
  		n++;
  		if(isPrime(n)) break;
  			
  	}
  	
  	return n;
  }
   
  ///////// GCD  ///////////////
  public static int gcd(int a, int b) {
  	if(b == 0)return a;
  	
  	return gcd(b, a%b);
  }
   
  ///////// LCM ///////////////
  public static int lcm(int a, int b) {
  	return (a*b)/gcd(a,b);
  }
  }