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: #include <bits/stdc++.h>
  using namespace std;
  bool isPrime(long long n) {
    if (n <= 1) return false;
    if (n <= 3) return true;
    if (n % 2 == 0 || n % 3 == 0) return false;
    for (long long i = 5; i * i <= n; i = i + 6)
      if (n % i == 0 || n % (i + 2) == 0) return false;
    return true;
  }
  bool IsPalindrome(string &s) {
    string t = s;
    reverse(t.begin(), t.end());
    return (s == t);
  }
  long double ipow(long double x, long long y) {
    long double temp;
    if (y == 0) return 1;
    temp = ipow(x, y / 2);
    if (y % 2 == 0)
      return temp * temp;
    else {
      if (y > 0)
        return x * temp * temp;
      else
        return (temp * temp) / x;
    }
  }
  long long binpow(long long a, long long b, long long m) {
    a %= m;
    long long res = 1;
    while (b > 0) {
      if (b & 1) res = res * a % m;
      a = a * a % m;
      b >>= 1;
    }
    return res;
  }
  long long inverseMod(long long a, long long p) { return binpow(a, p - 2, p); }
  long long dx[] = {-1LL, 0LL, 1LL, 0LL};
  long long dy[] = {0LL, 1LL, 0LL, -1LL};
  string tot = "abcdefghijklmnopqrstuvwxyz";
  void precompute() {}
  void TargetCC() {
    string s;
    cin >> s;
    long long n = s.size();
    if (n % 2) {
      cout << "NO"
           << "\n";
      return;
    }
    string x, y;
    for (long long i = 0; i < n; i++) {
      if (i < n / 2)
        x += s[i];
      else
        y += s[i];
    }
    if (x == y)
      cout << "YES"
           << "\n";
    else
      cout << "NO"
           << "\n";
  }
  signed main() {
    ios_base::sync_with_stdio(false), cin.tie(NULL), cout.tie(NULL);
    precompute();
    long long tc;
    cin >> tc;
    while (tc--) {
      TargetCC();
    }
    return 0;
  }
  