fn main() { let mut n = String::new(); std::io::stdin().read_line(&mut n).ok(); let mut n: Vec = n.trim().chars().map(|c| c.to_string()).collect(); n.sort_by(|a, b| b.cmp(a)); let mut border = 0; let tail = n.len() - 1; for i in 0..tail { if &n[tail-i-1] != &n[tail-i] { border = tail-i-1; break; } } if border == 0 { println!("-1"); } else { n.swap(border, border+1); println!("{}", n.join("")); } }