/// AtCoder Library v1.6 for MoonBit. See README.md and docs/API.md.

///|
pub using @algebra {trait Zero, trait FlowInt, trait ModInput}

///|
pub using @dsu {type Dsu}

///|
pub using @fenwicktree {type FenwickTree}

///|
pub using @segtree {type SegTree}

///|
pub using @lazysegtree {type LazySegTree}

///|
pub using @math {pow_mod, inv_mod, crt, floor_sum}

///|
pub using @modint {
  trait Modulus,
  trait DynamicModulus,
  type ModState,
  type StaticModInt,
  type DynamicModInt,
  type ModInt,
  type ModInt998244353,
  type ModInt1000000007,
  type Mod998244353,
  type Mod1000000007,
  type DefaultId,
  set_mod,
}

///|
pub using @convolution {convolution, convolution_modint, convolution_ll}

///|
pub using @scc {type SccGraph}

///|
pub using @twosat {type TwoSat}

///|
pub using @maxflow {type MfGraph, type MfEdge}

///|
pub using @mincostflow {type McfGraph, type McfEdge}

///|
pub using @string {
  suffix_array,
  suffix_array_bounded,
  suffix_array_bytes,
  suffix_array_string,
  lcp_array,
  lcp_array_bytes,
  lcp_array_string,
  z_algorithm,
  z_algorithm_bytes,
  z_algorithm_string,
}