use proconio::input; fn main() { input! { t: usize, query: [usize; t], } let target = 81181819; for n in query { let mut target = target - n; let mut ans = vec![]; while target > 0 { let rest: Vec<_> = target .to_string() .chars() .map(|x| x.to_digit(10).unwrap()) .collect(); let mut number_vec = vec![]; for i in 0..rest.len() { if rest[i] >= 8 { number_vec.push(8); } else if rest[i] >= 1 { number_vec.push(1); } else { number_vec.push(0); } } let mut exp = 0; let mut number = 0; for i in 0..number_vec.len() { number += number_vec[number_vec.len() - i - 1] * 10usize.pow(exp); exp += 1; } target -= number; ans.push(number); } println!("{}", ans.len()); for i in ans { println!("{}", i); } } }