use proconio::input_interactive; fn main() { input_interactive! { n:usize, } let mut t = vec![b'a'; n]; for i in 0..n { let mut cnts = (0..25).map(|i| (0, i)).collect::>(); for j in 0..25 { t[i] = b'a' + j as u8; print!("? "); for ti in t.iter() { print!("{}", *ti as char); } println!(); input_interactive! { m:usize, } cnts[j].0 = m; } cnts.sort(); if cnts[24].0 != cnts[23].0 { t[i] = b'a' + cnts[24].1 as u8; } else { t[i] = b'z'; } } print!("! "); for ti in t { print!("{}", ti as char); } println!(); }