D. 计数单元

    Type: Default 1000ms 256MiB

计数单元

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

小明有一个长度为 nn 的数组 a1,a2,...,ana_1,a_2,...,a_n ,初始全为 00 ,小明要对数组做 mm 次操作,每次操作格式如下。

选择一个长度为 lenlen 的区间 [L,R][L,R]1LRn,(RL+1)=len1 \le L \le R \le n,(R-L+1)=len ,对于区间中的每一个数 ai(LiR)a_i ( L \le i \le R) ,令 ai=ai+(iL+1)2a_i=a_i+(i-L+1)^2

即对这个区间的每个数分别增加 12,22,...,len21^2,2^2,...,len^2

小明想知道经过 mm 次操作后,数组中每个数字的值。

由于结果较大,你只需要求出每个值在模 998244353998244353 意义下的结果即可。

输入格式

第一行两个整数 n,mn,m

加下来 mm 行,每行两个整数 L,RL,R ,表示对区间 [L,R][L,R] 进行一次操作。

输出格式

输出一行 nn 个整数,表示经过 mm 次操作后的数组 a1,a2,...,ana_1,a_2,...,a_n

你只需要输出每个值在模 998244353998244353 意义下的结果即可。

输入输出样例 #1

输入 #1

5 3
2 2
1 3
3 5

输出 #1

1 5 10 4 9

说明/提示

对于 30%30\% 的数据, n,m5×103n,m \le 5 \times 10^3

对于另外 30%30\% 的数据, n,m5×104 n,m \le 5 \times 10^4

对于全部数据, 1n,m106,1LRn 1 \le n,m \le 10^6, 1 \le L \le R \le n