use proconio::input; fn main() { input! { m: usize, op: [(char, usize); m] } let num_add = op.iter().filter(|t| t.0 == '+').count(); let mut ans = vec![]; if num_add == 100 { for (i, &(op, _a)) in op.iter().enumerate() { let i = i + 1; assert_eq!(op, '+'); ans.push(format!("add a a A[{i}]")); } } else { ans.push("add b b A[1]".to_string()); for (i, &(op, _a)) in op.iter().enumerate() { let i = i + 1; match op { '+' => { ans.push(format!("mul c b A[{i}]")); ans.push("add a a c".to_string()); } '*' => { ans.push(format!("mul a a A[{i}]")); } '/' => { ans.push(format!("mul b b A[{i}]")); } _ => unreachable!(), } } ans.push("div a a b".to_string()); } println!("{}", ans.len()); for ans in ans { println!("{ans}"); } }