import java.util.*;

public class Solution {
    public String trans(String s, int n) {
        // write code here
        StringBuilder stringBuilder1 = new StringBuilder();
        Stack<String> stack = new Stack<>();
        char[] c = s.toCharArray();
        StringBuilder stringBuilder = new StringBuilder();

        for (int i = 0; i < c.length; i++) {
            if (Character.isLetter(c[i])) {
                if (Character.isUpperCase(c[i])) {
                    stringBuilder.append((char) (c[i] + 32));
                }
                if (Character.isLowerCase(c[i])) {
                    stringBuilder.append((char) (c[i] - 32));
                }
            } else {//如果不是字母就把拼接好的字符串入stack,且把当前非字母的字符入stack
                stringBuilder1.insert(0, stringBuilder.toString());
//                stack.push(stringBuilder.toString());
//                stack.push("" + c[i]);
                stringBuilder1.insert(0, c[i] + "");
                stringBuilder.delete(0, stringBuilder.length());
            }

            //单独处理边界情况,否则会丢失最后一个字符串
            if (i == (c.length - 1)) {
                stringBuilder1.insert(0, stringBuilder.toString());
//                stack.push(stringBuilder.toString());
            }
        }

//        String res = "";
//        while (!stack.isEmpty()) {
//            res += stack.pop();
//        }
        return stringBuilder1.toString();

    }
}