import java.util.Scanner;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Collections;
import java.util.stream.Collectors;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String input = in.nextLine();
        
        // 遍历原字符串,把A-Za-z拿出来按照自定义的CharInfo进行排序,非A-Za-z的字符原地不动
        char[] inputCode = input.toCharArray();
        List<CharInfo> toBeOrdered = new ArrayList<CharInfo>();
        for (int i = 0; i < inputCode.length; ++i) {
            if (isTarget(inputCode[i])) 
                toBeOrdered.add(new CharInfo(i, inputCode[i]));
        }
        Collections.sort(toBeOrdered);
        // 然后把排序后的字符重新倒回来
        int j = 0;
        for (int i = 0; i < inputCode.length; ++i) {
            if (isTarget(inputCode[i])) 
                inputCode[i] = toBeOrdered.get(j++).charOrder;
        }
        System.out.println(new String(inputCode));
    }
    
    public static boolean isTarget(char target) {
        char thisTarget = Character.toUpperCase(target);
        if (thisTarget < 'A' || thisTarget > 'Z') {
            return false;
        }
        return true;
    }
    
    public static class CharInfo implements Comparable<CharInfo> {
        int inputOrder;
        char charOrder;
        char upperOrder;

        public CharInfo(int inputOrder, char charOrder) {
            this.inputOrder = inputOrder;
            this.charOrder = charOrder;
            this.upperOrder = Character.toUpperCase(this.charOrder);
        }

        public int getInputOrder() {
            return inputOrder;
        }

        public char getCharOrder() {
            return charOrder;
        }

        public char getUpperOrder() {
            return upperOrder;
        }
        
        @Override
        public int compareTo(CharInfo other) {
            int charOrderOffset = this.upperOrder - other.upperOrder ;
            if (charOrderOffset == 0) return this.inputOrder - other.inputOrder;
            else return charOrderOffset;
        }
    }
}