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: /*package whatever //do not write package name here */
  
  import java.io.*;
  import java.util.*;
  
  public class GFG {
      
      private static int mod = 1000000007;
      
  public static void ruffleSort(int[] a) {
          int n=a.length;
          Random r=new Random();
          for (int i=0; i<a.length; i++) {
              int oi=r.nextInt(n), temp=a[i];
              a[i]=a[oi];
              a[oi]=temp;
          }
      
          Arrays.sort(a);
      }
      
      public static long modPow(long a, long b){
          
          long ans = 1;
          while(b > 0){
              if((b & 1) != 0){
                  ans = mulMod(ans, a);
              }
              
              b >>= 1;
              a = mulMod(a, a);
          }
          
          return ans;
      }
      
      public static long mulMod(long a, long b){
          long ans = ((a % mod) * (b % mod)) % mod;
          return ans;
      }
      
  	public static void main (String[] args) {
  		Scanner scn = new Scanner(System.in);
  		StringBuilder sb = new StringBuilder();
  		int t = scn.nextInt();
  		scn.nextLine();
  		while(t-- > 0){
  		  //  int n = scn.nextInt();
  		  //  int k = scn.nextInt();
  		  //  int[] arr = new int[n];
  		  //  for(int i=0; i<n; i++){
  			 //   arr[i] = scn.nextInt();    		  
  		  //  }
  		  //  scn.nextLine();
  		    String str = scn.nextLine();
  		    
  		    if(str.length()%2 == 1){
  		        System.out.println("NO");
  		        continue;
  		    }
  		    
  		    boolean tag = true;
  		    int k = str.length()/2;
  		    for(int i=0; i<str.length()/2; i++){
  		        if(str.charAt(i) != str.charAt(i+k)){
  		            tag = false;
  		            break;
  		        }
  		    }
  		    
  		    if(tag == true){
  		        System.out.println("YES");
  		    }
  		    else{
  		        System.out.println("NO");
  		    }
  		    
  		}
  		
  		System.out.println(sb);
  	}
  }
  
  
  /*
  NO
  YES
  NO
  YES
  YES
  YES
  NO
  NO
  NO
  YES
  
  */