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 com.sun.org.apache.xpath.internal.axes.IteratorPool;
  
  import java.io.*;
  import java.nio.charset.StandardCharsets;
  import java.util.*;
  
  public class Main {
      static class pizza {
          long na, k, ter;
  
          pizza(long na, long k, long ter) {
              this.na = na;
              this.k = k;
              this.ter = ter;
          }
      }
  
  
      public static void main(String[] args) throws IOException {
          //  out = new PrintWriter(new PrintWriter("output.txt"));
          //br = new BufferedReader(new FileReader("input.txt"));
          int k = nextInt();
          for (int i = 0; i < k; i++) {
              String s = nextToken();
              char c[] = s.toCharArray();
              int j1 = c.length / 2 ;
              int h = 0;
              if (c.length % 2 == 1) {
                  out.println("NO");
              } else {
                  for (int j = 0; j < c.length / 2; j++) {
                      if (c[j]!=c[j1]){
                          out.println("NO");
                          h=1;
                          break;
                      }
                      j1++;
                  }
                  if (h==0)out.println("YES");
              }
          }
          out.close();
      }
  
      static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
      static PrintWriter out = new PrintWriter(System.out);
      static StringTokenizer in = new StringTokenizer("");
  
  
      public static boolean hasNext() throws IOException {
          if (in.hasMoreTokens()) return true;
          String s;
          while ((s = br.readLine()) != null) {
              in = new StringTokenizer(s);
              if (in.hasMoreTokens()) return true;
          }
          return false;
      }
  
      public static String nextToken() throws IOException {
          while (!in.hasMoreTokens()) {
              in = new StringTokenizer(br.readLine());
          }
          return in.nextToken();
      }
  
  
      public static int nextInt() throws IOException {
          return Integer.parseInt(nextToken());
      }
  
      public static double nextDouble() throws IOException {
          return Double.parseDouble(nextToken());
      }
  
      public static long nextLong() throws IOException {
          return Long.parseLong(nextToken());
      }
  }