File tree Expand file tree Collapse file tree 1 file changed +4
-12
lines changed Expand file tree Collapse file tree 1 file changed +4
-12
lines changed Original file line number Diff line number Diff line change @@ -53,18 +53,10 @@ template <int md> struct ModInt {
5353 constexpr ModInt &operator -=(const ModInt &x) { return *this = *this - x; }
5454 constexpr ModInt &operator *=(const ModInt &x) { return *this = *this * x; }
5555 constexpr ModInt &operator /=(const ModInt &x) { return *this = *this / x; }
56- friend constexpr ModInt operator +(lint a, const ModInt &x) {
57- return ModInt ()._setval (a % md + x.val_ );
58- }
59- friend constexpr ModInt operator -(lint a, const ModInt &x) {
60- return ModInt ()._setval (a % md - x.val_ + md);
61- }
62- friend constexpr ModInt operator *(lint a, const ModInt &x) {
63- return ModInt ()._setval (a % md * x.val_ % md);
64- }
65- friend constexpr ModInt operator /(lint a, const ModInt &x) {
66- return ModInt ()._setval (a % md * x.inv ().val () % md);
67- }
56+ friend constexpr ModInt operator +(lint a, const ModInt &x) { return ModInt (a) + x; }
57+ friend constexpr ModInt operator -(lint a, const ModInt &x) { return ModInt (a) - x; }
58+ friend constexpr ModInt operator *(lint a, const ModInt &x) { return ModInt (a) * x; }
59+ friend constexpr ModInt operator /(lint a, const ModInt &x) { return ModInt (a) / x; }
6860 constexpr bool operator ==(const ModInt &x) const { return val_ == x.val_ ; }
6961 constexpr bool operator !=(const ModInt &x) const { return val_ != x.val_ ; }
7062 constexpr bool operator <(const ModInt &x) const {
You can’t perform that action at this time.
0 commit comments