use std::{io::{self,*}, cmp::Ordering};

fn main(){
    let stdin = io::stdin();
    for line in stdin.lock().lines() {
        let mut v: Vec<u8>= Vec::from(line.unwrap());
        let mut c:Vec<u8> = Vec::new();
        for i in 0..26{
            for j in 0..v.len(){
                if ((v[j] - 65u8 == (i as u8)) || (v[j] - 97u8 == (i as u8))){
                    c.push(v[j]);
                }
            }
        }

        let mut i = 0;
        let mut j = 0;
        while i < v.len() && j < c.len() {
            if (v[i] >= 97 && v[i] <= 122) || (v[i] >= 65 && v[i] <= 90) {
                v[i] = c[j];
                j += 1;
            }
            i += 1;
        }
        for i in v {
            print!("{}",char::from(i));
        }
    }
}