.val() の帰り値が int ではなく unsigned int で帰ってきていそうな挙動を示します。 ```C++ #include <bits/stdc++.h> using namespace std; #include <atcoder/all> using namespace atcoder; using mint = modint998244353; using mint2 = modint1000000007; int main(){ mint a = 1; mint2 b = 2; cout << a.val() - b.val() << endl; } ``` 上記のコードが atcoder のコードテスト環境で 4294967295 を返しました。