use proconio::input; fn main() { input! { n:usize, c:[[String;4];n], } let mut g = vec![vec![]; n]; for i in 0..n { for j in 0..4 { if c[i][j] == "H" { continue; } g[i].push(c[i][j].parse::().unwrap() - 1); } } dfs(0, n, &g); println!("methane"); } fn dfs(crr: usize, prv: usize, g: &Vec>) { if crr != 0 { print!("("); } for &nxt in g[crr].iter() { if nxt == prv { continue; } dfs(nxt, crr, g); } if crr != 0 { print!("methyl)"); } }