import java.util.*;
class Main {
	public ArrayList<String> solution(int n, String[] str) {
		ArrayList<String> answer = new ArrayList<>();
		//StringBuilder 이용
		for (String x : str) {
			String a = new StringBuilder(x).reverse().toString();
			answer.add(a);
		}
		//직접 뒤집기 left와 right를 증가,감소
		for(String x : str) {
			char[] b = x.toCharArray();
			int lt = 0,rt = x.length()-1;
			while(lt < rt) {
				char tmp = b[lt]; //lt값 저장
				b[lt] = b[rt];
				b[rt] = tmp;
				lt++;
				rt--;
			}
			String tmp = String.valueOf(b);
			answer.add(tmp);
		}
		return answer;
    }
	
	public static void main(String[] args) {
		Main T = new Main();
		Scanner kb = new Scanner(System.in);
		int n = kb.nextInt();
		String[] str = new String[n];
		for(int i = 0; i<n; i++) {
			str[i] = kb.next();
		}
		for(String x : T.solution(n, str)) {
			System.out.println(x);
		}
	}
	
}
 new StringBuilder(x).reverse().toString();
StringBuilder라는 객체가 있다는 것을 알아두자!
String k = String.valueOf(a); //valueOf는 static이므로 객체생성이 필요없다.
char[] a = ['a','b','c','d']; 이라면 k = "abcd";
valueOf 메소드를 통해 charArray를 String으로 변환가능하다!