fn main() { // 入力 input!{ s: Chars, } // 文字と数字をそれぞれリストにする let mut str = Vec::new(); let mut num = Vec::new(); // 文字または数字をセット for ss in s { if ss >= 'a' && ss <= 'z' { str.push(ss);} else {num.push(ss);} } // 文字を反転 str.reverse(); // 出力 for ss in str { print!("{}", ss); } for nn in num { print!("{}", nn); } println!(); } // const MOD17: usize = 1000000007; // const MOD93: usize = 998244353; // const INF: usize = 1 << 60; // let dx = vec![!0, 0, 1, 0]; // 上左下右 // let dy = vec![0, !0, 0, 1]; // 上左下右 // let d = vec!{(!0, 0), (0, !0), (1, 0), (0, 1)}; // 上左下右 #[allow(unused)] use proconio::{input, marker::Chars, marker::Usize1}; #[allow(unused)] use std::{ mem::swap, cmp::min, cmp::max, cmp::Reverse, collections::HashSet, collections::BTreeSet, collections::HashMap, collections::BTreeMap, collections::BinaryHeap, collections::VecDeque, iter::FromIterator, };