この問題は,以下のように考えられます。
を計算する。
を計算し, から引く。
から までの等差数列の和を とし, から までの等差数列の和を とし, からさらに, を引く。
これで手に入る の値が答えになります。手順1~3は,足される積を三角形状に書き出すと分かりやすいと思います。(?)
なお,手順1~3は愚直にやってはTLに間に合いません。一ケースあたり, はかかります。
しかし,手順1の の値は, で表されることを利用し, で求められます。(証明略)
手順2でも同様にして から引き,手順3でも等差数列の和の公式を用いることで,計算量を削減でき,AC することができます。
modであまりをとる際や,オーバーフローに十分注意してください。