| 24 | |
| 25 | template <class mint, internal::is_static_modint_t<mint>* = nullptr> |
| 26 | std::vector<mint> conv_naive(std::vector<mint> a, std::vector<mint> b) { |
| 27 | int n = int(a.size()), m = int(b.size()); |
| 28 | std::vector<mint> c(n + m - 1); |
| 29 | for (int i = 0; i < n; i++) { |
| 30 | for (int j = 0; j < m; j++) { |
| 31 | c[i + j] += a[i] * b[j]; |
| 32 | } |
| 33 | } |
| 34 | return c; |
| 35 | } |
| 36 | |
| 37 | template <int MOD, |
| 38 | class T, |