library_checker/enumerative_combinatorics/
binomial_coefficient.rs1#[doc(no_inline)]
2pub use competitive::math::ArbitraryModBinomial;
3use competitive::prelude::*;
4
5#[verify::library_checker("binomial_coefficient")]
6pub fn binomial_coefficient(reader: impl Read, mut writer: impl Write) {
7 let s = read_all_unchecked(reader);
8 let mut scanner = Scanner::new(&s);
9 scan!(scanner, t, m: u64);
10 let binom = ArbitraryModBinomial::new(m, !0);
11 for _ in 0..t {
12 scan!(scanner, n: u64, k: u64);
13 iter_print!(writer, binom.combination(n, k));
14 }
15}