library_checker/set_power_series/subset_convolution.rs
1use competitive::prelude::*;
2use competitive::{
3 algebra::AddMulOperation,
4 math::{ConvolveSteps, SubsetConvolve},
5 num::mint_basic::MInt998244353 as M,
6};
7
8#[verify::library_checker("subset_convolution")]
9pub fn subset_convolution(reader: impl Read, writer: impl Write) {
10 prepare_io!(reader, writer);
11 sc!(n, a: [M; 1 << n], b: [M; 1 << n]);
12 let c = SubsetConvolve::<AddMulOperation<_>>::convolve(a, b);
13 pp!(@it c);
14}