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 static java.lang.Math.*;
  import static java.lang.System.out;
  import java.util.*;
  import java.io.*;
  import java.math.*;
  
  import java.io.FileNotFoundException;
  import java.io.FileReader;
  import java.util.Arrays;
  
  import javax.lang.model.util.ElementScanner6;
  
  public class BinarySearch {
  	public static void main(String[] args) {
  //		FastInput f = new FastInput(new FileReader("Word.in"));
          FastInput sc = new FastInput();
          int T = sc.nextInt();
          while(T-->0)
          {
              // int n = sc.nextInt();
              // int a[] = sc.readArr(n);
              String t = sc.next();
              String a = t.substring(0,t.length()/2);
              String b = t.substring(t.length()/2, t.length());
              if(a.equals(b))
                  System.out.println("YES");
              else
                  System.out.println("NO");
              //System.out.println(a+" "+b);
          }
      }
  }
  
  
  
  
  class FastInput {
  
          BufferedReader br;
          StringTokenizer st;
  
          public FastInput()
          {
              br = new BufferedReader(new InputStreamReader(System.in));
  
          }
          public String next() {
  
              while(st == null || !st.hasMoreElements())
              {
                  try {
  
                      st = new StringTokenizer(br.readLine());
  
                  } catch(IOException e)
                  {
                      System.out.println(e.toString());
                  }
              }
              return st.nextToken();
  
          }
          public int nextInt()
          {
              return Integer.parseInt(next());
          }
          public long nextLong()
          {
              return Long.parseLong(next());
          }
          public double nextDouble()
          {
              return Double.parseDouble(next());
          }
          public String nextLine()
          {
              String str = "";
  
              try {
                  str = br.readLine();
              } catch(IOException e)
              {
                  System.out.println(e.toString());
              }
              return str;
          }
          public static void sort(int[] arr)
          {
              ArrayList<Integer> ls = new ArrayList<Integer>();
              for(int x: arr)
                  ls.add(x);
              Collections.sort(ls);
              for(int i=0; i < arr.length; i++)
                  arr[i] = ls.get(i);
          }
          public  int [] readArr(int n)
          {
              int [] a = new int[n];
              for(int i = 0; i<n; i++)
                  a[i] = nextInt();
              return a;
          }
  }
  
  