Module b
Expand description
ยงABC 372 B - 3^A
refs: https://atcoder.jp/contests/abc372/tasks/abc372_b
use proconio::input;
fn main() {
input! {
m: usize,
}
let md = m % 3;
let mut ans = vec![0; md];
let mut rem = m - md;
while rem > 0 {
let mut pw = 1;
while 3usize.pow(pw + 1) <= rem {
pw += 1;
}
ans.push(pw);
rem -= 3usize.pow(pw);
}
println!("{}", ans.len());
println!(
"{}",
ans.iter()
.map(|x| x.to_string())
.collect::<Vec<_>>()
.join(" ")
);
}