Main.cpp:1: warning: ignoring ‘#pragma region Macros’ [-Wunknown-pragmas]
1 | #pragma region Macros
|
Main.cpp:744: warning: ignoring ‘#pragma endregion ’ [-Wunknown-pragmas]
744 | #pragma endregion
|
Main.cpp:36:1: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
36 | const bool equals(ld a, ld b) { return fabs((a) - (b)) < EPS; }
| ^~~~~
Main.cpp: In constructor ‘Edge::Edge(ll, cost_type)’:
Main.cpp:44:15: warning: ‘Edge::cost’ will be initialized after [-Wreorder]
44 | cost_type cost;
| ^~~~
Main.cpp:43:9: warning: ‘ll Edge::from’ [-Wreorder]
43 | int from, to;
| ^~~~
Main.cpp:46:5: warning: when initialized here [-Wreorder]
46 | Edge(int to, cost_type cost) : to(to), cost(cost), from(-1) {}
| ^~~~
Main.cpp: In function ‘bit_function::i64 bit_function::erase(i64, ll, ll)’:
Main.cpp:196:61: warning: suggest parentheses around arithmetic in operand of ‘|’ [-Wparentheses]
196 | i64 erase(i64 x, int l, int r) { return x >> r << l | x & ((1LL << l) - 1); } // [l, r) をカット
| ~~^~~~~~~~~~~~~~~~~~
Main.cpp: In function ‘std::istream& util_function::operator>>(std::istream&, __int128&)’:
Main.cpp:420:27: warning: comparison of integer expressions of different signedness: ‘ll’ {aka ‘long long int’} and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
420 | for (int i = 0; i < S.length(); i++)
| ~~^~~~~~~~~~~~
Main.cpp: In function ‘__int128 util_function::sto128(const std::string&)’:
Main.cpp:444:27: warning: comparison of integer expressions of different signedness: ‘ll’ {aka ‘long long int’} and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
444 | for (int i = 0; i < S.length(); i++)
| ~~^~~~~~~~~~~~
Main.cpp: In function ‘mint modpow(const mint&, ll)’:
Main.cpp:681:13: warning: implicitly-declared ‘constexpr Modint<998244353>& Modint<998244353>::operator=(const Modint<998244353>&)’ is deprecated [-Wdeprecated-copy]
681 | t = t * t;
| ^
Main.cpp:628:5: note: because ‘Modint<998244353>’ has user-provided ‘Modint<mod>::Modint(const Modint<mod>&) [with long long int mod = 998244353]’
628 | Modint(const Modint &r) { val = r.val; }
| ^~~~~~
Main.cpp:682:24: warning: implicitly-declared ‘constexpr Modint<998244353>& Modint<998244353>::operator=(const Modint<998244353>&)’ is deprecated [-Wdeprecated-copy]
682 | if (n & 1) t = t * x;
| ^
Main.cpp:628:5: note: because ‘Modint<998244353>’ has user-provided ‘Modint<mod>::Modint(const Modint<mod>&) [with long long int mod = 998244353]’
628 | Modint(const Modint &r) { val = r.val; }
| ^~~~~~
Main.cpp: In function ‘void COMinit(ll)’:
Main.cpp:706:25: warning: implicitly-declared ‘constexpr Modint<998244353>& Modint<998244353>::operator=(const Modint<998244353>&)’ is deprecated [-Wdeprecated-copy]
706 | _fac[0] = _fac[1] = 1; _finv[0] = _finv[1] = 1; _inv[1] = 1;
| ^
Main.cpp:628:5: note: because ‘Modint<998244353>’ has user-provided ‘Modint<mod>::Modint(const Modint<mod>&) [with long long int mod = 998244353]’
628 | Modint(const Modint &r) { val = r.val; }
| ^~~~~~
Main.cpp:706:25: warning: implicitly-declared ‘constexpr Modint<998244353>& Modint<998244353>::operator=(const Modint<998244353>&)’ is deprecated [-Wdeprecated-copy]
706 | _fac[0] = _fac[1] = 1; _finv[0] = _finv[1] = 1; _inv[1] = 1;
| ^
Main.cpp:628:5: note: because ‘Modint<998244353>’ has user-provided ‘Modint<mod>::Modint(const Modint<mod>&) [with long long int mod = 998244353]’
628 | Modint(const Modint &r) { val = r.val; }
| ^~~~~~
Main.cpp:706:50: warning: implicitly-declared ‘constexpr Modint<998244353>& Modint<998244353>::operator=(const Modint<998244353>&)’ is deprecated [-Wdeprecated-copy]
706 | _fac[0] = _fac[1] = 1; _finv[0] = _finv[1] = 1; _inv[1] = 1;
| ^
Main.cpp:628:5: note: because ‘Modint<998244353>’ has user-provided ‘Modint<mod>::Modint(const Modint<mod>&) [with long long int mod = 998244353]’
628 | Modint(const Modint &r) { val = r.val; }
| ^~~~~~
Main.cpp:706:50: warning: implicitly-declared ‘constexpr Modint<998244353>& Modint<998244353>::operator=(const Modint<998244353>&)’ is deprecated [-Wdeprecated-copy]
706 | _fac[0] = _fac[1] = 1; _finv[0] = _finv[1] = 1; _inv[1] = 1;
| ^
Main.cpp:628:5: note: because ‘Modint<998244353>’ has user-provided ‘Modint<mod>::Modint(const Modint<mod>&) [with long long int mod = 998244353]’
628 | Modint(const Modint &r) { val = r.val; }
| ^~~~~~
Main.cpp:706:63: warning: implicitly-declared ‘constexpr Modint<998244353>& Modint<998244353>::operator=(const Modint<998244353>&)’ is deprecated [-Wdeprecated-copy]
706 | _fac[0] = _fac[1] = 1; _finv[0] = _finv[1] = 1; _inv[1] = 1;
| ^
Main.cpp:628:5: note: because ‘Modint<998244353>’ has user-provided ‘Modint<mod>::Modint(const Modint<mod>&) [with long long int mod = 998244353]’
628 | Modint(const Modint &r) { val = r.val; }
| ^~~~~~
Main.cpp:708:37: warning: implicitly-declared ‘constexpr Modint<998244353>& Modint<998244353>::operator=(const Modint<998244353>&)’ is deprecated [-Wdeprecated-copy]
708 | _fac[i] = _fac[i-1] * mint(i);
| ^
Main.cpp:628:5: note: because ‘Modint<998244353>’ has user-provided ‘Modint<mod>::Modint(const Modint<mod>&) [with long long int mod = 998244353]’
628 | Modint(const Modint &r) { val = r.val; }
| ^~~~~~
Main.cpp:709:48: warning: implicitly-declared ‘constexpr Modint<998244353>& Modint<998244353>::operator=(const Modint<998244353>&)’ is deprecated [-Wdeprecated-copy]
709 | _inv[i] = -_inv[MOD % i] * mint(MOD / i);
| ^
Main.cpp:628:5: note: because ‘Modint<998244353>’ has user-provided ‘Modint<mod>::Modint(const Modint<mod>&) [with long long int mod = 998244353]’
628 | Modint(const Modint &r) { val = r.val; }
| ^~~~~~
Main.cpp:710:41: warning: implicitly-declared ‘constexpr Modint<998244353>& Modint<998244353>::operator=(const Modint<998244353>&)’ is deprecated [-Wdeprecated-copy]
710 | _finv[i] = _finv[i - 1] * _inv[i];
| ^
Main.cpp:628:5: note: because ‘Modint<998244353>’ has user-provided ‘Modint<mod>::Modint(const Modint<mod>&) [with long long int mod = 998244353]’
628 | Modint(const Modint &r) { val = r.val; }
| ^~~~~~
Main.cpp: In function ‘mint FAC(ll)’:
Main.cpp:715:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
715 | if (N < 0) return 0; return _fac[N];
| ^~
Main.cpp:715:26: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
715 | if (N < 0) return 0; return _fac[N];
| ^~~~~~
Main.cpp: In function ‘mint FACinv(ll)’:
Main.cpp:718:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
718 | if (N < 0) return 0; return _finv[N];
| ^~
Main.cpp:718:26: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
718 | if (N < 0) return 0; return _finv[N];
| ^~~~~~
Main.cpp: In function ‘mint COM(ll, ll)’:
Main.cpp:721:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
721 | if (N < K) return 0; if (N < 0 or K < 0) return 0;
| ^~
Main.cpp:721:26: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
721 | if (N < K) return 0; if (N < 0 or K < 0) return 0;
| ^~
Main.cpp: In function ‘mint COMinv(ll, ll)’:
Main.cpp:725:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
725 | if (N < K) return 0; if (N < 0 or K < 0) return 0;
| ^~
Main.cpp:725:26: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
725 | if (N < K) return 0; if (N < 0 or K < 0) return 0;
| ^~
Main.cpp: In function ‘mint MCOM(const std::vector<long long int>&)’:
Main.cpp:730:23: warning: comparison of integer expressions of different signedness: ‘ll’ {aka ‘long long int’} and ‘std::vector<long long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
730 | for (int i = 0; i < V.size(); i++) N += V[i];
| ~~^~~~~~~~~~
Main.cpp:732:23: warning: comparison of integer expressions of different signedness: ‘ll’ {aka ‘long long int’} and ‘std::vector<long long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
732 | for (int i = 0; i < V.size(); i++) ret *= _finv[V[i]];
| ~~^~~~~~~~~~
Main.cpp: In function ‘mint PERM(ll, ll)’:
Main.cpp:736:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
736 | if (N < K) return 0; if (N < 0 or K < 0) return 0;
| ^~
Main.cpp:736:26: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
736 | if (N < K) return 0; if (N < 0 or K < 0) return 0;
| ^~
Main.cpp: In function ‘int main()’:
Main.cpp:752:9: warning: unused variable ‘now’ [-Wunused-variable]
752 | int now = R;
| ^~~