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.util.*;
  import java.io.*;
  
  public class A {
  
  	private static final FastScanner fs = new FastScanner();
  	private static final int MOD = 1000000007;
  
  	public static void main(String[] args) throws IOException {
  		int cases = fs.nextInt();
  		while (cases-- > 0)
  			solve();
  	}
  	static void solve() throws IOException {
  		String s = fs.next();
  		if (s.length() % 2 != 0) System.out.println("NO");
  		else {
  			System.out.println(s.substring(0, s.length()/2).equals(s.substring(s.length()/2))?"YES":"NO");
  		}
  	}
  
  	static class FastScanner {
  		//I don't know how this works lmao
  		public BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  		StringTokenizer st = new StringTokenizer("");
  
  		String next() {
  			while (!st.hasMoreTokens())
  				try {
  					st = new StringTokenizer(br.readLine());
  				} catch (IOException e) {
  					e.printStackTrace();
  				}
  			return st.nextToken();
  		}
  
  		int nextInt() {
  			return Integer.parseInt(next());
  		}
  
  		long nextLong() {
  			return Long.parseLong(next());
  		}
  
  		double nextDouble() {
  			return Double.parseDouble(next());
  		}
  
  		int[] nextInts(int n) {
  			int[] a = new int[n];
  			for (int i = 0; i < n; i++) a[i] = nextInt();
  			return a;
  		}
  	}
  }