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 math, os, io, heapq
  from sys import stdin, stdout
  from collections import Counter, deque, defaultdict
  from itertools import product
  import bisect
  
  
  # For fast i/o
  # def inp():
  #     return io.BytesIO(os.read(0,os.fstat(0).st_size)).readline().strip().decode()
  # input = inp
  
  # def println(v, end='\n'):
  #     stdout.write(str(v) + end)
  
  def getList(method=int):
      return list(map(method, input().split()))
  
  
  def getInt():
      return int(input())
  
  
  def solve():
      s = input()
      n = len(s)
  
      if n % 2:
          return "NO"
  
      k = n // 2
      for i in range(k):
          if s[i] != s[i+k]:
              return "NO"
  
      return "YES"
  
  
  for _ in range(getInt()):
      print(solve())
  