Description
小明有一个长度为 n 的数组 a1,a2,...,an ,初始全为 0 ,小明要对数组做 m 次操作,每次操作格式如下。
选择一个长度为 len 的区间 [L,R] , 1 ≤ L ≤ R ≤ n, (R-L+1)=len ,对于区间中的每一个数 ai ( L ≤ i ≤ R) ,令 ai=ai+(i-L+1)2 。即对这个区间的每个数分别增加 12,22,...,len2。
小明想知道经过 m 次操作后,数组中每个数字的值。由于结果较大,你只需要求出每个值对 998244353 取模的结果即可。
Input
第一行两个整数 n,m 。
加下来 m 行,每行两个整数 L,R ,表示对区间 [L,R] 进行一次操作。
Output
输出一行 n 个整数,表示经过 m 次操作后的数组 a1,a2,...,an 。
你只需要求出每个值对 998244353 取模的结果即可。
HINT
对于 30% 的数据, n,m ≤ 5 * 103
对于另外 30% 的数据, n,m ≤ 5 * 104 。
对于全部数据, 1 ≤n,m ≤ 106, 1 ≤ L ≤ R ≤ n 。