#[allow(unused)] use proconio::{input, marker::Chars}; fn main() { input! { mut n: usize, } let mut digits = Vec::new(); let mut w = n; while w > 0 { digits.push(w % 10); w /= 10; } let m = digits.len(); for i in 0..m { let x = digits[i]; for j in i + 1..m { let y = digits[j]; digits[i] = y; digits[j] = x; n = n.max(new_num(&digits)); digits[i] = x; digits[j] = y; } } println!("{n}") } fn new_num(d: &Vec) -> usize { let mut ret = 0; let mut m = 1; for i in 0..d.len() { ret += m * d[i]; m *= 10; } ret }