#YS0013. 小H的区间加数

小H的区间加数

题目描述

在一个虚拟的竞技场中,小 H 是一位训练有素的战士,他带着一支队伍在广阔的沙场上进行训练。小 H 面前有一张表格,表格由 nn 个数字构成,这些数字代表着每个战士的体力值。起初,所有战士的体力值都为零,但小 H 决定通过一系列的训练来提升战士们的体力。

每次训练时,小 H 会选定一段连续的战士队伍,从某个战士开始到另一个战士结束,这段队伍会根据一定的规律提升他们的体力。具体来说,对于区间内的每个战士,体力值会根据他的在队伍中的位置增加一个与其位置相关的数值。这个数值是按照一个平方数列递增的:第一个战士增加 121^2,第二个战士增加 222^2,第三个战士增加 323^2,依此类推。

在经过若干次训练后,小 H 想知道所有战士的体力值之和。由于体力值可能会非常大,小 H 希望结果能对 998244353998244353 取模输出,以确保数字不会过大影响计算。

输入格式

第一行两个正整数 n,mn,m1n,m2×1051\le n,m\le 2 \times10^5),分别表示士兵的个数和操作次数。

下面有 mm 行,每行两个正整数 li,ril_i,r_i1lirin1\le l_i\le r_i\le n),表示选取的区间。

输出格式

输出一行一个正整数表示答案对 998244353998244353 取模后的结果。

样例输入

5 3
1 2
4 5
1 5

样例输出

65

样例解释

进行第一次操作后序列为:1,4,0,0,01,4,0,0,0

进行第二次操作后序列为:1,4,0,1,41,4,0,1,4

进行第三次操作后序列为:2,8,9,17,292,8,9,17,29

最后总和为:6565