fn r() -> T { let mut s = String::new(); std::io::stdin().read_line(&mut s).ok(); s.trim().parse().ok().unwrap() } fn rvt() -> Vec { r::() .split_whitespace() .map(|c| c.parse().ok().unwrap()) .collect() } fn main() { let v: Vec = vec![r(), r(), r()]; let n: Vec = vec!['A', 'B', 'C']; let mut a: Vec<(char, u8)> = n.into_iter().zip(v).collect(); a.sort_by(|x, y| y.1.cmp(&x.1)); for n in a.iter().map(|&(n, _)| n) { println!("{}", n); } }