rt,求 dalao 帮忙
In file included from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_bit:1,
from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:10,
from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution:1,
from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/all:1,
from main.cpp:14:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_bit.hpp: In function 'constexpr int atcoder::internal::countr_zero_constexpr(unsigned int)':
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_bit.hpp:49:1: error: body of 'constexpr' function 'constexpr int atcoder::internal::countr_zero_constexpr(unsigned int)' not a return-statement
49 | }
| ^
In file included from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_math:1,
from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:12,
from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint:1,
from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:11:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_math.hpp: In function 'constexpr long long int atcoder::internal::safe_mod(long long int, long long int)':
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_math.hpp:20:1: error: body of 'constexpr' function 'constexpr long long int atcoder::internal::safe_mod(long long int, long long int)' not a return-statement
20 | }
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_math.hpp: In function 'constexpr long long int atcoder::internal::pow_mod_constexpr(long long int, long long int, int)':
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_math.hpp:77:1: error: body of 'constexpr' function 'constexpr long long int atcoder::internal::pow_mod_constexpr(long long int, long long int, int)' not a return-statement
77 | }
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_math.hpp: In function 'constexpr bool atcoder::internal::is_prime_constexpr(int)':
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_math.hpp:102:1: error: body of 'constexpr' function
constexpr bool atcoder::internal::is_prime_constexpr(int)' not a return-statement
102 | }
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_math.hpp: In function 'constexpr std::pair<long long
int, long long int> atcoder::internal::inv_gcd(long long int, long long int)':
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_math.hpp:139:1: error: body of 'constexpr' function
constexpr std::pair<long long int, long long int> atcoder::internal::inv_gcd(long long int, long long int)' not a return-statement
139 | }
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_math.hpp: In function 'constexpr int atcoder::internal::primitive_root_constexpr(int)':
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_math.hpp:176:1: error: body of 'constexpr' function
constexpr int atcoder::internal::primitive_root_constexpr(int)' not a return-statement
176 | }
| ^
In file included from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_type_traits:1,
from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:13:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_type_traits.hpp: At global scope:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_type_traits.hpp:88:30: error: 'enable_if_t' in namespace 'std' does not name a template type
88 | using is_signed_int_t = std::enable_if_t<is_signed_int<T>::value>;
| ^~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_type_traits.hpp:88:25: note: 'std::enable_if_t' is only available from C++14 onwards
88 | using is_signed_int_t = std::enable_if_t<is_signed_int<T>::value>;
| ^~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_type_traits.hpp:91:32: error: 'enable_if_t' in namespace 'std' does not name a template type
91 | using is_unsigned_int_t = std::enable_if_t<is_unsigned_int<T>::value>;
| ^~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_type_traits.hpp:91:27: note: 'std::enable_if_t' is only available from C++14 onwards
91 | using is_unsigned_int_t = std::enable_if_t<is_unsigned_int<T>::value>;
| ^~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:23:45: error: 'enable_if_t' in namespace 'std' does not name a template type
23 | template <class T> using is_modint_t = std::enable_if_t<is_modint<T>::value>;
| ^~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:23:40: note: 'std::enable_if_t' is only available from C++14 onwards
23 | template <class T> using is_modint_t = std::enable_if_t<is_modint<T>::value>;
| ^~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:27:23: error: 'std::enable_if_t' has not been declared
27 | template <int m, std::enable_if_t<(1 <= m)>* = nullptr>
| ^~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:27:34: error: expected '>' before '<' token
27 | template <int m, std::enable_if_t<(1 <= m)>* = nullptr>
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:40:34: error: 'atcoder::internal::is_signed_int_t'
has not been declared
40 | template <class T, internal::is_signed_int_t<T>* = nullptr>
| ^~~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:40:49: error: expected '>' before '<' token
40 | template <class T, internal::is_signed_int_t<T>* = nullptr>
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:46:34: error: 'atcoder::internal::is_unsigned_int_
' has not been declared
46 | template <class T, internal::is_unsigned_int_t<T>* = nullptr>
| ^~~~~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:46:51: error: expected '>' before '<' token
46 | template <class T, internal::is_unsigned_int_t<T>* = nullptr>
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:47:5: error: 'template<int m, <typeprefixerror><anonymous> > template<class T, <typeprefixerror><anonymous> > atcoder::static_modint<m, <anonymous> >::static_modint(T)' cannot be overloaded with 'template<int m, <typeprefixerror><anonymous> > template<class T, <typeprefixerror><anonymous> > atcoder::static_modint<m, <anonymous> >::static_modint(T)'
47 | static_modint(T v) {
| ^~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:41:5: note: previous declaration 'template<int m, <typeprefixerror><anonymous> > template<class T, <typeprefixerror><anonymous> > atcoder::static_modint<m, <anonymous> >::static_modint(T)'
41 | static_modint(T v) {
| ^~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:157:34: error: 'atcoder::internal::is_signed_int_t' has not been declared
157 | template <class T, internal::is_signed_int_t<T>* = nullptr>
| ^~~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:157:49: error: expected '>' before '<' token
157 | template <class T, internal::is_signed_int_t<T>* = nullptr>
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:163:34: error: 'atcoder::internal::is_unsigned_int_t' has not been declared
163 | template <class T, internal::is_unsigned_int_t<T>* = nullptr>
| ^~~~~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:163:51: error: expected '>' before '<' token
163 | template <class T, internal::is_unsigned_int_t<T>* = nullptr>
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:164:5: error: 'template<int id> template<class T, <typeprefixerror><anonymous> > atcoder::dynamic_modint<id>::dynamic_modint(T)' cannot be overloaded with 'template<int id> template<class T, <typeprefixerror><anonymous> > atcoder::dynamic_modint<id>::dynamic_modint(T)'
164 | dynamic_modint(T v) {
| ^~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:158:5: note: previous declaration 'template<int id> template<class T, <typeprefixerror><anonymous> > atcoder::dynamic_modint<id>::dynamic_modint(T)'
158 | dynamic_modint(T v) {
| ^~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:252:48: error: wrong number of template arguments (1, should be 2)
252 | using modint998244353 = static_modint<998244353>;
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:28:8: note: provided for 'template<int m, <typeprefixerror><anonymous> > struct atcoder::static_modint'
28 | struct static_modint : internal::static_modint_base {
| ^~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:253:50: error: wrong number of template arguments (1, should be 2)
253 | using modint1000000007 = static_modint<1000000007>;
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:28:8: note: provided for 'template<int m, <typeprefixerror><anonymous> > struct atcoder::static_modint'
28 | struct static_modint : internal::static_modint_base {
| ^~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:262:33: error: 'enable_if_t' in namespace 'std' does not name a template type
262 | using is_static_modint_t = std::enable_if_t<is_static_modint<T>::value>;
| ^~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:262:28: note: 'std::enable_if_t' is only available
from C++14 onwards
262 | using is_static_modint_t = std::enable_if_t<is_static_modint<T>::value>;
| ^~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:269:34: error: 'enable_if_t' in namespace 'std' does not name a template type
269 | using is_dynamic_modint_t = std::enable_if_t<is_dynamic_modint<T>::value>;
| ^~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:269:29: note: 'std::enable_if_t' is only available
from C++14 onwards
269 | using is_dynamic_modint_t = std::enable_if_t<is_dynamic_modint<T>::value>;
| ^~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:19:21: error: 'atcoder::internal::is_static_modint_t' has not been declared
19 | internal::is_static_modint_t<mint>* = nullptr>
| ^~~~~~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:19:39: error: expected '>' before '<' token
19 | internal::is_static_modint_t<mint>* = nullptr>
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:20:8: error: no default argument for '<anonymous>'
20 | struct fft_info {
| ^~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:25:30: error: call to non-'constexpr' function 'const _Tp& std::max(const _Tp&, const _Tp&) [with _Tp = int]'
25 | std::array<mint, std::max(0, rank2 - 2 + 1)> rate2;
| ~~~~~~~~^~~~~~~~~~~~~~~~~~
In file included from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/string:50,
from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/bits/locale_classes.h:40,
from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/bits/ios_base.h:41,
from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/ios:42,
from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/istream:38,
from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/sstream:38,
from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/complex:45,
from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/ccomplex:39,
from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/x86_64-w64-mingw32/bits/stdc++.h:54,
from main.cpp:2:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/bits/stl_algobase.h:254:5: note: 'const _Tp& std::max(const _Tp&, const _Tp&) [with _Tp = int]' declared here
254 | max(const _Tp& __a, const _Tp& __b)
| ^~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:26:30: error: call to non-'constexpr' function 'const _Tp& std::max(const _Tp&, const _Tp&) [with _Tp = int]'
26 | std::array<mint, std::max(0, rank2 - 2 + 1)> irate2;
| ~~~~~~~~^~~~~~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/bits/stl_algobase.h:254:5: note: 'const _Tp& std::max(const _Tp&, const _Tp&) [with _Tp = int]' declared here
254 | max(const _Tp& __a, const _Tp& __b)
| ^~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:28:30: error: call to non-'constexpr' function 'const _Tp& std::max(const _Tp&, const _Tp&) [with _Tp = int]'
28 | std::array<mint, std::max(0, rank2 - 3 + 1)> rate3;
| ~~~~~~~~^~~~~~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/bits/stl_algobase.h:254:5: note: 'const _Tp& std::max(const _Tp&, const _Tp&) [with _Tp = int]' declared here
254 | max(const _Tp& __a, const _Tp& __b)
| ^~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:29:30: error: call to non-'constexpr' function 'const _Tp& std::max(const _Tp&, const _Tp&) [with _Tp = int]'
29 | std::array<mint, std::max(0, rank2 - 3 + 1)> irate3;
| ~~~~~~~~^~~~~~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/bits/stl_algobase.h:254:5: note: 'const _Tp& std::max(const _Tp&, const _Tp&) [with _Tp = int]' declared here
254 | max(const _Tp& __a, const _Tp& __b)
| ^~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:60:33: error: 'atcoder::internal::is_static_modint_t' has not been declared
60 | template <class mint, internal::is_static_modint_t<mint>* = nullptr>
| ^~~~~~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:60:51: error: expected '>' before '<' token
60 | template <class mint, internal::is_static_modint_t<mint>* = nullptr>
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp: In function 'void atcoder::internal::butterfly(std::vector<_Tp>&)':
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:65:31: error: template argument 3 is invalid
65 | static const fft_info<mint> info;
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:81:33: error: request for member 'rate2' in 'info', which is of non-class type 'const int'
81 | rot *= info.rate2[countr_zero(~(unsigned int)(s))];
| ^~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:87:39: error: request for member 'root' in 'info', which is of non-class type 'const int'
87 | mint rot = 1, imag = info.root[2];
| ^~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:107:33: error: request for member 'rate3' in
info', which is of non-class type 'const int'
107 | rot *= info.rate3[countr_zero(~(unsigned int)(s))];
| ^~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp: At global scope:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:114:33: error: 'atcoder::internal::is_static_modint_t' has not been declared
114 | template <class mint, internal::is_static_modint_t<mint>* = nullptr>
| ^~~~~~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:114:51: error: expected '>' before '<' token
114 | template <class mint, internal::is_static_modint_t<mint>* = nullptr>
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp: In function 'void atcoder::internal::butterfly_inv(std::vector<_Tp>&)':
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:119:31: error: template argument 3 is invalid
119 | static const fft_info<mint> info;
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:138:34: error: request for member 'irate2' in
'info', which is of non-class type 'const int'
138 | irot *= info.irate2[countr_zero(~(unsigned int)(s))];
| ^~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:144:41: error: request for member 'iroot' in
info', which is of non-class type 'const int'
144 | mint irot = 1, iimag = info.iroot[2];
| ^~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:170:34: error: request for member 'irate3' in
'info', which is of non-class type 'const int'
170 | irot *= info.irate3[countr_zero(~(unsigned int)(s))];
| ^~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp: At global scope:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:177:33: error: 'atcoder::internal::is_static_modint_t' has not been declared
177 | template <class mint, internal::is_static_modint_t<mint>* = nullptr>
| ^~~~~~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:177:51: error: expected '>' before '<' token
177 | template <class mint, internal::is_static_modint_t<mint>* = nullptr>
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:198:33: error: 'atcoder::internal::is_static_modint_t' has not been declared
198 | template <class mint, internal::is_static_modint_t<mint>* = nullptr>
| ^~~~~~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:198:51: error: expected '>' before '<' token
198 | template <class mint, internal::is_static_modint_t<mint>* = nullptr>
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:218:33: error: 'atcoder::internal::is_static_modint_t' has not been declared
218 | template <class mint, internal::is_static_modint_t<mint>* = nullptr>
| ^~~~~~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:218:51: error: expected '>' before '<' token
218 | template <class mint, internal::is_static_modint_t<mint>* = nullptr>
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:229:33: error: 'atcoder::internal::is_static_modint_t' has not been declared
229 | template <class mint, internal::is_static_modint_t<mint>* = nullptr>
| ^~~~~~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:229:51: error: expected '>' before '<' token
229 | template <class mint, internal::is_static_modint_t<mint>* = nullptr>
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:244:16: error: 'std::enable_if_t' has not been declared
244 | std::enable_if_t<internal::is_integral<T>::value>* = nullptr>
| ^~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:244:27: error: expected '>' before '<' token
244 | std::enable_if_t<internal::is_integral<T>::value>* = nullptr>
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp: In function 'std::vector<T> atcoder::convolution(const std::vector<T>&, const std::vector<T>&)':
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:249:35: error: wrong number of template arguments (1, should be 2)
249 | using mint = static_modint<mod>;
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/modint.hpp:28:8: note: provided for 'template<int m, <typeprefixerror><anonymous> > struct atcoder::static_modint'
28 | struct static_modint : internal::static_modint_base {
| ^~~~~~~~~~~~~
In file included from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/cassert:44,
from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_type_traits.hpp:4:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:252:5: error: 'mint' has not been declared
252 | assert((mint::mod() - 1) % z == 0);
| ^~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:254:17: error: 'mint' was not declared in this scope; did you mean 'rint'?
254 | std::vector<mint> a2(n), b2(m);
| ^~~~
| rint
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:254:21: error: template argument 1 is invalid
254 | std::vector<mint> a2(n), b2(m);
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:254:21: error: template argument 2 is invalid
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:256:11: error: invalid types 'int[int]' for array subscript
256 | a2[i] = mint(a[i]);
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:259:11: error: invalid types 'int[int]' for array subscript
259 | b2[i] = mint(b[i]);
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:261:26: error: no matching function for call to 'convolution(std::remove_reference<int&>::type, std::remove_reference<int&>::type)'
261 | auto c2 = convolution(std::move(a2), std::move(b2));
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:219:19: note: candidate: 'template<class mint, <typeprefixerror><anonymous> > std::vector<_Tp> atcoder::convolution(std::vector<_Tp>&&, std::vector<_Tp>&&)'
219 | std::vector<mint> convolution(std::vector<mint>&& a, std::vector<mint>&& b) {
| ^~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:219:19: note: template argument deduction/substitution failed:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:261:26: note: mismatched types 'std::vector<_Tp>' and 'std::remove_reference<int&>::type' {aka 'int'}
261 | auto c2 = convolution(std::move(a2), std::move(b2));
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:230:19: note: candidate: 'template<class mint, <typeprefixerror><anonymous> > std::vector<_Tp> atcoder::convolution(const std::vector<_Tp>&, const std::vector<_Tp>&)'
230 | std::vector<mint> convolution(const std::vector<mint>& a,
| ^~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:230:19: note: template argument deduction/substitution failed:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:261:26: note: mismatched types 'const std::vector<_Tp>' and 'std::remove_reference<int&>::type' {aka 'int'}
261 | auto c2 = convolution(std::move(a2), std::move(b2));
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:245:16: note: candidate: 'template<unsigned int mod, class T, <typeprefixerror><anonymous> > std::vector<T> atcoder::convolution(const std::vector<T>&, const std::vector<T>&)'
245 | std::vector<T> convolution(const std::vector<T>& a, const std::vector<T>& b) {
| ^~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:245:16: note: template argument deduction/substitution failed:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:261:26: note: mismatched types 'const std::vector<T>' and 'std::remove_reference<int&>::type' {aka 'int'}
261 | auto c2 = convolution(std::move(a2), std::move(b2));
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp: In function 'std::vector<long long int> atcoder::convolution_ll(const std::vector<long long int>&, const std::vector<long long int>&)':
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:283:26: error: 'constexpr std::pair<long long
int, long long int> atcoder::internal::inv_gcd(long long int, long long int)' called in a constant expression
283 | internal::inv_gcd(MOD2 * MOD3, MOD1).second;
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_math.hpp:107:43: note: 'constexpr std::pair<long long int, long long int> atcoder::internal::inv_gcd(long long int, long long int)' declared here
107 | constexpr std::pair<long long, long long> inv_gcd(long long a, long long b) {
| ^~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:285:26: error: 'constexpr std::pair<long long
int, long long int> atcoder::internal::inv_gcd(long long int, long long int)' called in a constant expression
285 | internal::inv_gcd(MOD1 * MOD3, MOD2).second;
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_math.hpp:107:43: note: 'constexpr std::pair<long long int, long long int> atcoder::internal::inv_gcd(long long int, long long int)' declared here
107 | constexpr std::pair<long long, long long> inv_gcd(long long a, long long b) {
| ^~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:287:26: error: 'constexpr std::pair<long long
int, long long int> atcoder::internal::inv_gcd(long long int, long long int)' called in a constant expression
287 | internal::inv_gcd(MOD1 * MOD2, MOD3).second;
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_math.hpp:107:43: note: 'constexpr std::pair<long long int, long long int> atcoder::internal::inv_gcd(long long int, long long int)' declared here
107 | constexpr std::pair<long long, long long> inv_gcd(long long a, long long b) {
| ^~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:295:32: error: no matching function for call to 'convolution<MOD1>(const std::vector<long long int>&, const std::vector<long long int>&)'
295 | auto c1 = convolution<MOD1>(a, b);
| ~~~~~~~~~~~~~~~~~^~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:219:19: note: candidate: 'template<class mint, <typeprefixerror><anonymous> > std::vector<_Tp> atcoder::convolution(std::vector<_Tp>&&, std::vector<_Tp>&&)'
219 | std::vector<mint> convolution(std::vector<mint>&& a, std::vector<mint>&& b) {
| ^~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:219:19: note: template argument deduction/substitution failed:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:295:32: error: type/value mismatch at argument 1 in template parameter list for 'template<class mint, <typeprefixerror><anonymous> > std::vector<_Tp> atcoder::convolution(std::vector<_Tp>&&, std::vector<_Tp>&&)'
295 | auto c1 = convolution<MOD1>(a, b);
| ~~~~~~~~~~~~~~~~~^~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:295:32: note: expected a type, got 'MOD1'
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:230:19: note: candidate: 'template<class mint, <typeprefixerror><anonymous> > std::vector<_Tp> atcoder::convolution(const std::vector<_Tp>&, const std::vector<_Tp>&)'
230 | std::vector<mint> convolution(const std::vector<mint>& a,
| ^~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:230:19: note: template argument deduction/substitution failed:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:295:32: error: type/value mismatch at argument 1 in template parameter list for 'template<class mint, <typeprefixerror><anonymous> > std::vector<_Tp> atcoder::convolution(const std::vector<_Tp>&, const std::vector<_Tp>&)'
295 | auto c1 = convolution<MOD1>(a, b);
| ~~~~~~~~~~~~~~~~~^~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:295:32: note: expected a type, got 'MOD1'
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:245:16: note: candidate: 'template<unsigned int mod, class T, <typeprefixerror><anonymous> > std::vector<T> atcoder::convolution(const std::vector<T>&, const std::vector<T>&)'
245 | std::vector<T> convolution(const std::vector<T>& a, const std::vector<T>& b) {
| ^~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:245:16: note: template argument deduction/substitution failed:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:295:32: note: couldn't deduce template parameter '<anonymous>'
295 | auto c1 = convolution<MOD1>(a, b);
| ~~~~~~~~~~~~~~~~~^~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:296:32: error: no matching function for call to 'convolution<MOD2>(const std::vector<long long int>&, const std::vector<long long int>&)'
296 | auto c2 = convolution<MOD2>(a, b);
| ~~~~~~~~~~~~~~~~~^~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:219:19: note: candidate: 'template<class mint, <typeprefixerror><anonymous> > std::vector<_Tp> atcoder::convolution(std::vector<_Tp>&&, std::vector<_Tp>&&)'
219 | std::vector<mint> convolution(std::vector<mint>&& a, std::vector<mint>&& b) {
| ^~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:219:19: note: template argument deduction/substitution failed:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:296:32: error: type/value mismatch at argument 1 in template parameter list for 'template<class mint, <typeprefixerror><anonymous> > std::vector<_Tp> atcoder::convolution(std::vector<_Tp>&&, std::vector<_Tp>&&)'
296 | auto c2 = convolution<MOD2>(a, b);
| ~~~~~~~~~~~~~~~~~^~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:296:32: note: expected a type, got 'MOD2'
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:230:19: note: candidate: 'template<class mint, <typeprefixerror><anonymous> > std::vector<_Tp> atcoder::convolution(const std::vector<_Tp>&, const std::vector<_Tp>&)'
230 | std::vector<mint> convolution(const std::vector<mint>& a,
| ^~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:230:19: note: template argument deduction/substitution failed:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:296:32: error: type/value mismatch at argument 1 in template parameter list for 'template<class mint, <typeprefixerror><anonymous> > std::vector<_Tp> atcoder::convolution(const std::vector<_Tp>&, const std::vector<_Tp>&)'
296 | auto c2 = convolution<MOD2>(a, b);
| ~~~~~~~~~~~~~~~~~^~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:296:32: note: expected a type, got 'MOD2'
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:245:16: note: candidate: 'template<unsigned int mod, class T, <typeprefixerror><anonymous> > std::vector<T> atcoder::convolution(const std::vector<T>&, const std::vector<T>&)'
245 | std::vector<T> convolution(const std::vector<T>& a, const std::vector<T>& b) {
| ^~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:245:16: note: template argument deduction/substitution failed:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:296:32: note: couldn't deduce template parameter '<anonymous>'
296 | auto c2 = convolution<MOD2>(a, b);
| ~~~~~~~~~~~~~~~~~^~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:297:32: error: no matching function for call to 'convolution<MOD3>(const std::vector<long long int>&, const std::vector<long long int>&)'
297 | auto c3 = convolution<MOD3>(a, b);
| ~~~~~~~~~~~~~~~~~^~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:219:19: note: candidate: 'template<class mint, <typeprefixerror><anonymous> > std::vector<_Tp> atcoder::convolution(std::vector<_Tp>&&, std::vector<_Tp>&&)'
219 | std::vector<mint> convolution(std::vector<mint>&& a, std::vector<mint>&& b) {
| ^~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:219:19: note: template argument deduction/substitution failed:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:297:32: error: type/value mismatch at argument 1 in template parameter list for 'template<class mint, <typeprefixerror><anonymous> > std::vector<_Tp> atcoder::convolution(std::vector<_Tp>&&, std::vector<_Tp>&&)'
297 | auto c3 = convolution<MOD3>(a, b);
| ~~~~~~~~~~~~~~~~~^~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:297:32: note: expected a type, got 'MOD3'
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:230:19: note: candidate: 'template<class mint, <typeprefixerror><anonymous> > std::vector<_Tp> atcoder::convolution(const std::vector<_Tp>&, const std::vector<_Tp>&)'
230 | std::vector<mint> convolution(const std::vector<mint>& a,
| ^~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:230:19: note: template argument deduction/substitution failed:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:297:32: error: type/value mismatch at argument 1 in template parameter list for 'template<class mint, <typeprefixerror><anonymous> > std::vector<_Tp> atcoder::convolution(const std::vector<_Tp>&, const std::vector<_Tp>&)'
297 | auto c3 = convolution<MOD3>(a, b);
| ~~~~~~~~~~~~~~~~~^~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:297:32: note: expected a type, got 'MOD3'
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:245:16: note: candidate: 'template<unsigned int mod, class T, <typeprefixerror><anonymous> > std::vector<T> atcoder::convolution(const std::vector<T>&, const std::vector<T>&)'
245 | std::vector<T> convolution(const std::vector<T>& a, const std::vector<T>& b) {
| ^~~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:245:16: note: template argument deduction/substitution failed:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/convolution.hpp:297:32: note: couldn't deduce template parameter '<anonymous>'
297 | auto c3 = convolution<MOD3>(a, b);
| ~~~~~~~~~~~~~~~~~^~~~~~
In file included from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/maxflow:1,
from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/all:6:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/maxflow.hpp: In member function 'Cap atcoder::mf_graph<Cap>::flow(int, int, Cap)':
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/maxflow.hpp:90:24: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
90 | auto dfs = [&](auto self, int v, Cap up) {
| ^~~~
In file included from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_scc:1,
from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/scc.hpp:8,
from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/scc:1,
from C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/all:9:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_scc.hpp: In member function 'std::pair<int, std::vector<int> > atcoder::internal::scc_graph::scc_ids()':
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_scc.hpp:30:24: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
30 | auto dfs = [&](auto self, int v) -> void {
| ^~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_scc.hpp: In lambda function:
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_scc.hpp:36:25: error: 'self' cannot be used as a function
36 | self(self, to);
| ~~~~^~~~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_scc.hpp: In member function 'std::pair<int, std::vector<int> > atcoder::internal::scc_graph::scc_ids()':
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_scc.hpp:54:34: error: no match for call to '(atcoder::internal::scc_graph::scc_ids()::<lambda(int, int)>) (atcoder::internal::scc_graph::scc_ids()::<lambda(int, int)>&, int&)'
54 | if (ord[i] == -1) dfs(dfs, i);
| ~~~^~~~~~~~
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_scc.hpp:30:20: note: candidate: 'atcoder::internal::scc_graph::scc_ids()::<lambda(int, int)>'
30 | auto dfs = [&](auto self, int v) -> void {
| ^
C:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include/c++/atcoder/internal_scc.hpp:30:20: note: no known conversion for argument 1 from 'atcoder::internal::scc_graph::scc_ids()::<lambda(int, int)>' to 'int'