use std::io::{self, BufRead}; use std::collections::HashMap; fn main() { let stdin = io::stdin(); let lines = stdin.lock().lines() .filter_map(|x| x.ok()) .collect::>(); let mut count: Vec> = vec![HashMap::new(); 1024]; for line in lines { for (i, ch) in line.chars().enumerate() { *count[i].entry(ch).or_insert(0) += 1; } } let corrected_most: String = count.iter() .filter_map(|x| { let mut vec: Vec<_> = x.iter().collect(); vec.sort_by_key(|k| k.1); vec.pop() }) .map(|x| *x.0) .collect(); let corrected_least: String = count.iter() .filter_map(|x| { let mut vec: Vec<_> = x.iter().collect(); vec.sort_by_key(|k| k.1); vec.reverse(); vec.pop() }) .map(|x| *x.0) .collect(); println!("corrected_most={}", corrected_most); println!("corrected_least={}", corrected_least); }