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: from math import inf, gcd, log, log2, floor, ceil
  from collections import Counter, defaultdict
  #from sortedcontainers import SortedList
  DIRS = [[1,0], [0,1],[0,-1],[-1,0]]
  MOD = 10**9+7
  def get_lines():
      while 1:
          try:
              yield input()
          except:
              break
  
  #lines = [x for x in get_lines()]
  matrix = 0
  array = 0
  if matrix:
      A = []
      for line in lines:
          A.append([int(x) for x in line])
      R, C = len(A), len(A[0])
  
  if array:
      A = [int(x) for x in lines]
      N = len(A)
  
  N = int(input())
  
  
  #N = int(lines[0])
  for _ in range(N):
      x = input()
      if len(x) & 1:
          print('NO')
          continue
      if x[len(x)//2:] == x[:len(x)//2]:
          print('YES')
      else:
          print('NO')
  