library_checker/math/
factorize.rs1#[doc(no_inline)]
2pub use competitive::math::prime_factors_flatten;
3use competitive::prelude::*;
4
5#[verify::library_checker("factorize")]
6pub fn factorize(reader: impl Read, mut writer: impl Write) {
7 let s = read_all_unchecked(reader);
8 let mut scanner = Scanner::new(&s);
9 scan!(scanner, q);
10 for a in scanner.iter::<u64>().take(q) {
11 let x = prime_factors_flatten(a);
12 write!(writer, "{}", x.len()).ok();
13 for x in x.into_iter() {
14 write!(writer, " {}", x).ok();
15 }
16 writeln!(writer).ok();
17 }
18}