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.*;
  import java.util.*;
  
  public class Main {
      public void solve() throws IOException {
         int t=nextInt();
          for (int i = 0; i < t; i++) {
              String s=br.readLine();
              if(s.length()%2!=0) out.println("NO");
              else{
                  String ans1="YES";
                  char a[]=s.toCharArray();
                  for (int j = 0; j < s.length()/2; j++) {
                      if(a[j]!=a[j+s.length()/2]){
                          ans1="NO";
                          break;
                      }
                  }
                  out.println(ans1);
                  }
              }
          out.close();
          }
      public void run() {
          try {
              br = new BufferedReader(new InputStreamReader(System.in));
              out = new PrintWriter(System.out);
  
              solve();
  
              out.close();
          } catch (IOException e) {
              e.printStackTrace();
              System.exit(1);
          }
      }
  
      BufferedReader br;
      StringTokenizer in;
      PrintWriter out;
  
      public String nextToken() throws IOException {
          while (in == null || !in.hasMoreTokens()) {
              in = new StringTokenizer(br.readLine());
          }
          return in.nextToken();
      }
  
      public int nextInt() throws IOException {
          return Integer.parseInt(nextToken());
      }
  
      public double nextDouble() throws IOException {
          return Double.parseDouble(nextToken());
      }
  
      public long nextLong() throws IOException {
          return Long.parseLong(nextToken());
      }
  
      public static void main(String[] args) throws IOException {
          Locale.setDefault(Locale.US);
          new Main().run();
      }
      class gg implements Comparable<gg> {
          long x;
          long xlen;
  
          gg(long x, long xlen) {
              this.x = x;
              this.xlen = xlen;
          }
  
          public int compareTo(gg other) {
              return Long.compare(x, other.x);
          }
      }
  }