This documentation is automatically generated by online-judge-tools/verification-helper
View the Project on GitHub noshi91/Library
template <class M> class opposite_monoid { using T = typename M::value_type; public: using value_type = T; static constexpr T operation(const T &l, const T &r) noexcept { return M::operation(r, l); } static constexpr T identity = M::identity; };
#line 1 "other/opposite_monoid.cpp" template <class M> class opposite_monoid { using T = typename M::value_type; public: using value_type = T; static constexpr T operation(const T &l, const T &r) noexcept { return M::operation(r, l); } static constexpr T identity = M::identity; };