시간 제한메모리 제한제출정답맞힌 사람정답 비율
4 초 (추가 시간 없음) 1024 MB (추가 메모리 없음)154766953.077%

문제

길이가 $N$인 수열 $a_1,a_2,\cdots ,a_N$이 있다. 처음에 모든 $a_i$는 $0$이다. 이때, 다음과 같은 쿼리를 사용해 수열 $a$를 변화시킬 수 있다.

$l r c$: 수열 $a$의 $l$번째부터 $r$번째까지의 값을 $c$로 바꾼다.

$Q$개의 쿼리가 주어질 때, $f(U,D,L,R)$을 ‘$U$번째부터 $D$번째까지의 쿼리를 순서대로 사용했을 때 $a_L+a_{L+1}+\cdots +a_R$의 값’으로 정의한다. $f$를 여러 번 시행할 경우, 각 시행은 서로 독립적이라 이전 $f$의 시행이 현재 $f$의 시행에 영향을 주지 않는다.

$\sum_{U=1}^Q\sum_{D=U}^Q\sum_{L=1}^N\sum_{R=L}^Nf(U,D,L,R)$을 $998\, 244\, 353$$(=119\times 2^{23}+1)$으로 나눈 나머지를 계산해 보자. $998\, 244\, 353$은 소수이다.

입력

첫 번째 줄에 정수 $N$, $Q$가 공백으로 구분되어 주어진다. $(1\leq N,Q\leq 300\, 000)$

두 번째 줄부터 $Q$개의 줄에 걸쳐 $Q$개의 쿼리가 한 줄에 하나씩 순서대로 주어진다. $i$번째 쿼리로 세 개의 정수 $l_i$, $r_i$, $c_i$이 공백으로 구분되어 주어진다. $(1\leq l_i\leq r_i\leq N;$ $0\leq c_i<998\, 244\, 353)$

출력

$\sum_{U=1}^Q\sum_{D=U}^Q\sum_{L=1}^N\sum_{R=L}^Nf(U,D,L,R)$를 $998\, 244\, 353$으로 나눈 나머지를 출력하시오.

예제 입력 1

2 2
1 2 1
2 2 2

예제 출력 1

14

\[\begin{align*}f(1,1,1,1)& =1\\ f(1,1,1,2)& =1+1=2\\ f(1,1,2,2)& =1\\ f(1,2,1,1)& =1\\ f(1,2,1,2)& =1+2=3\\ f(1,2,2,2)& =2\\ f(2,2,1,1)& =0\\ f(2,2,1,2)& =0+2=2\\ f(2,2,2,2)& =2\end{align*}\]

따라서, 답은 $1+2+1+1+3+2+0+2+2=14$가 된다.

예제 입력 2

10 10
10 10 593603443
4 9 993565789
3 8 238321270
7 8 424480868
10 10 556869540
8 10 279674600
7 8 575417117
6 8 948583421
6 6 468656456
4 10 865607491

예제 출력 2

830609277