use std::iter::FromIterator; fn main() { let mut x = String::new(); std::io::stdin().read_line(&mut x).expect("Input error"); let mut xv = Vec::from_iter(x.trim().chars()); xv.sort_by_key(|&x| std::cmp::Reverse(x)); if (xv[0] == xv[xv.len() - 1]) || (xv[1] == '0') { println!("-1"); return; } let prev_ch = xv[xv.len() - 1]; for (i, xi) in xv.iter().enumerate().rev() { if *xi != prev_ch { xv.swap(i, i + 1); break; } } println!("{}", String::from_iter(xv.iter())); }